From 142d9df9632642fc46763f77cb6586bcf1b914de Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Mon, 20 May 2019 15:36:52 +0300 Subject: [PATCH 01/20] tx not found and block not found error pages --- apps/block_scout_web/assets/css/app.scss | 1 + .../assets/css/components/_errors.scss | 137 ++++++++++++++++++ .../images/errors-img/eth-block-not-found.png | Bin 0 -> 18535 bytes .../errors-img/eth-block-not-found@2x.png | Bin 0 -> 39572 bytes .../images/errors-img/eth-tx-not-found.png | Bin 0 -> 16719 bytes .../images/errors-img/eth-tx-not-found@2x.png | Bin 0 -> 35690 bytes .../images/errors-tpl/block-not-found.html | 20 +++ .../images/errors-tpl/tx-not-found.html | 41 ++++++ 8 files changed, 199 insertions(+) create mode 100644 apps/block_scout_web/assets/css/components/_errors.scss create mode 100644 apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-tpl/block-not-found.html create mode 100644 apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html diff --git a/apps/block_scout_web/assets/css/app.scss b/apps/block_scout_web/assets/css/app.scss index 567f3b0abf..06510862b9 100644 --- a/apps/block_scout_web/assets/css/app.scss +++ b/apps/block_scout_web/assets/css/app.scss @@ -120,6 +120,7 @@ $fa-font-path: "~@fortawesome/fontawesome-free/webfonts"; @import "components/transaction"; @import "components/api"; @import "components/alerts"; +@import "components/errors"; :export { primary: $primary; diff --git a/apps/block_scout_web/assets/css/components/_errors.scss b/apps/block_scout_web/assets/css/components/_errors.scss new file mode 100644 index 0000000000..05a850bc03 --- /dev/null +++ b/apps/block_scout_web/assets/css/components/_errors.scss @@ -0,0 +1,137 @@ +$error-tablet-breakpoint: 768px; + +// Block Not Found + +.block-not-found { + display: flex; + flex-direction: column; + padding-bottom: 50px; + @media (min-width: $error-tablet-breakpoint) { + flex-direction: row; + align-items: center; + justify-content: center; + padding-top: 52px; + } +} + +.block-not-found-img { + margin-bottom: 40px; + text-align: center; + @media (min-width: $error-tablet-breakpoint) { + margin-bottom: 0; + text-align: left; + } + img { + max-width: 100%; + height: auto; + } +} + +.block-not-found-content { + text-align: center; + @media (min-width: $error-tablet-breakpoint) { + text-align: left; + padding-left: 52px; + max-width: 396px; + } +} + +.error-title { + margin-bottom: 20px !important; +} + +.error-descr { + display: block; + font-size: 14px; + color: #a3a9b5; + line-height: 1.714; + margin-bottom: 22px; + word-wrap: break-word; +} + +.error-btn { + background: transparent; + display: inline-flex !important; +} + +// TX Not Found +.tx-nf { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + padding-bottom: 50px; + @media (min-width: $error-tablet-breakpoint) { + flex-direction: row; + padding-top: 52px; + } +} + +.tx-nf-content { + margin-top: 52px; + max-width: 700px; + @media (min-width: $error-tablet-breakpoint) { + margin-left: 90px; + margin-top: 0; + } +} + +.tx-nf-blocks { + margin-bottom: 40px; + margin-top: 40px; +} + +.tx-nf-block { + background-color: #fff; + box-shadow: 0px 0px 30px 0px rgba(202, 199, 226, 0.5); + padding: 17px 40px 17px 20px; + position: relative; + border-radius: 6px; + @media (min-width: $error-tablet-breakpoint) { + width: calc(50% - 20px); + } +} + +.tx-nf-block { + .error-descr { + margin-bottom: 0; + } + & + .tx-nf-block { + margin-top: 30px; + @media (min-width: $error-tablet-breakpoint) { + margin-top: 0; + } + } +} + +.tx-nf-blocks-row { + display: flex; + justify-content: space-between; + flex-direction: column; + @media (min-width: $error-tablet-breakpoint) { + flex-direction: row; + } + & + .tx-nf-blocks-row { + margin-top: 30px; + @media (min-width: $error-tablet-breakpoint) { + margin-top: 40px; + } + } +} + +.tx-nf-number { + display: inline-block; + position: absolute; + top: -15px; + left: -15px; + width: 30px; + height: 30px; + border-radius: 15px; + background-color: $secondary; + box-shadow: 0px 3px 5px 0px rgba($secondary, 0.25); + color: #fff; + font-weight: 700; + font-size: 14px; + text-align: center; + line-height: 32px; +} \ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..aa68730ad9c0096e767e85af5691e8bfdb708d5b GIT binary patch literal 18535 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�!~O920{>GplmuQIXse zK)Zb!A5g(E_FmcmtlxRZEG+x5VSeH{kfb$783HU>mSQNxgVrtwQ_ToWyqWF{uFQ7G zr`H7dHvG+Fd~BNCR#~K}K-kLc*R!dDC6jY-4Ih*4zm4|w#KfMp9`zil1E*Np0b1yp zocMeUpi-{A!Tp+eOUoR5XS|2@OQ?()C)_r>-j3-NfSpX*R;1h<`j*stw&?6ezW#P> zC7G%^lDA_sGAkJ3dHC3>#ou@|KCRY88byhDI#S)!)|Va`K~RA1zH$H@NK)fS=mQ&} z^sLz5&e6&lJout4)+n5Nq-eWFg}!zyD=yUzAeV)=ah*DN5@X5AKy&Kv5kX0P_$>`t zi5=bI5gcC8%YnXue;*hLDcCOu79VOI9r%(JnH|?1bLk-3=Qhn^C#s+&rdvnN$w0R} zE@oM4#67i2(I@O$#xKKnp(Y#%I{ubp4+v5@qvr_!!~y(w^~Y*9IadxR(k^iZFkqs2 z|46#YZ;okZeD0>Ff@|FYJ}#3)`u8pnhLVkA88Lme#fgfF2VWfhW&t*t6TcLFPc z>dzcv`6?-R?f@q|dwBnE-{Hlvx3gb&&kBD2ZM3v|GvuS4CEW?nyTaS01#Yf7uBS_-5XRNIUQUD@D_{??R>O7Qmw4kp_T)G_Y_Z|i?t z^ZoJnmtk@3C|0|)$gqnrU>+Wg9qbVTpmKTv5Ddrr@sZw`fYqVc)fN9Gr)+jcP#yIv zB;qVjF>9m_T3HsYwlRiUvk`_F^L?oCzT|z={Wqj#Sq;mZz!9TiNvRjitb8E{b{gQM zxqVu^DCIQwuB{?CIsmgS08_#G2^4LGhKP0uJ;ow8Q^5a^pl&{0`I${a`!zcTrFTMN zx8je?#z^P5?Y`I@HTp{ePOwaKsJ%X=jat&Os(Bz3=UIi;Mir1H$a^=ub&H}0f zbLcV2E8VSU(4apmUgHLM*U_zl946Sa9`so(16`KHh^CG<_d7p6GGgMAN*0$H6L~n| zeg$tU5{O$%Vp!W-pK?;T@^cPUd?VTzO&x@PDhS+UI>F5^H|}4#phzW5d$|V0bX}88{Fhu(N_=|To!KB` z4TTMZn$MgDmZ)36sp4=q)$)pO_UFdVrm_%0Ac*}U9um)Y&EA{iyZ?_fZLX0OtrVWL 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 literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4918b26d68a36fb7a19a26a4bf3f2272802a15 GIT binary patch literal 16719 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 literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4adb5220c2c265b4d16314a2afb867128f543cb7 GIT binary patch literal 35690 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�gMi^E#Mzf?C3NF7IQ`-o#?SESkM&dO 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�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 WgAT2TtPgj + +
+
+ +
+
+
+ Block Not Found +
+
+

Lorem Ipsum Dolor

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

+ Back Home +
+
+
+ +
+
\ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html b/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html new file mode 100644 index 0000000000..126146d10e --- /dev/null +++ b/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html @@ -0,0 +1,41 @@ + + +
+
+ +
+
+
+ Block Not Found +
+
+

Sorry, We are unable to locate this transaction Hash

+
+
+
+ 1 +

If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page.

+
+
+ 2 +

It could still be in the TX Pool of a different node, waiting to be broadcasted.

+
+
+
+
+ 3 +

During times when the network is busy (i.e during ICOs) it can take a while for your transaction to propagate through the network and for us to index it.

+
+
+ 4 +

If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional & information.

+
+
+
+ Back Home +
+
+
+ +
+
\ No newline at end of file From 95d6904dbd989be05dfdfac01e4ea8f67b51a9c0 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 20 May 2019 15:44:56 +0300 Subject: [PATCH 02/20] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b09ca7afd..129593bfca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#1982](https://github.com/poanetwork/blockscout/pull/1982) - added "block not found" and "tx not found pages" - [#1963](https://github.com/poanetwork/blockscout/pull/1963) - added rinkeby theme and rinkeby logo - [#1959](https://github.com/poanetwork/blockscout/pull/1959) - added goerli theme and goerli logo - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated From cd3df01431c3e019816252aa1f598a2a4769be10 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 21 May 2019 18:10:20 +0300 Subject: [PATCH 03/20] content issues, added errors to template eex --- .../images/errors-tpl/tx-not-found.html | 4 +-- .../templates/block_transaction/404.html.eex | 15 ++++++++ .../templates/transaction/not_found.html.eex | 36 +++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html b/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html index 126146d10e..462f782d4d 100644 --- a/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html +++ b/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html @@ -14,7 +14,7 @@
1 -

If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page.

+

If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page.

2 @@ -28,7 +28,7 @@
4 -

If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional & information.

+

If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional information.

diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex index 68faa6fb73..0a776e4a9a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex @@ -1,3 +1,4 @@ +<%#
@@ -14,3 +15,17 @@
+%> + +
+
+
+ Block Not Found +
+
+

Lorem Ipsum Dolor

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

+ Back Home +
+
+
\ No newline at end of file diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex index 97df28640a..574307c193 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex @@ -1,3 +1,4 @@ +<%#
@@ -44,4 +45,39 @@
+
+%> + +
+
+
+ Block Not Found +
+
+

Sorry, We are unable to locate this transaction Hash

+
+
+
+ 1 +

If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page.

+
+
+ 2 +

It could still be in the TX Pool of a different node, waiting to be broadcasted.

+
+
+
+
+ 3 +

During times when the network is busy (i.e during ICOs) it can take a while for your transaction to propagate through the network and for us to index it.

+
+
+ 4 +

If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional information.

+
+
+
+ Back Home +
+
\ No newline at end of file From e3b03e16484678b41f058ac4b5513f07d4533a84 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 21 May 2019 18:55:13 +0300 Subject: [PATCH 04/20] errors page issues --- .../templates/block_transaction/404.html.eex | 21 +------- .../templates/transaction/not_found.html.eex | 52 +------------------ 2 files changed, 2 insertions(+), 71 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex index 0a776e4a9a..762bc62e43 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex @@ -1,26 +1,7 @@ -<%# -
-
-
-
-
-

- <%= gettext("Block Details") %> -

-
- <%= block_not_found_message(@block_above_tip) %> -
-
-
-
-
-
-%> -
- Block Not Found + Block Not Found

Lorem Ipsum Dolor

diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex index 574307c193..c51de04db8 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex @@ -1,57 +1,7 @@ -<%# -
-
-
-
-
-
- -

<%= gettext "Transaction Details" %>

-
-
- - -
-
- <%= gettext("The transaction %{bold_hash} was not processed yet", bold_hash: "#{@transaction_hash}") |> raw() %> -
-
-
-

<%= gettext "Once we have the transaction's data this page will refresh automatically" %>

-

<%= gettext "The possible reasons for this transaction not being processed include the following:" %>

-
    -
  • <%= gettext "The transaction was made a few seconds ago" %>
  • -
  • <%= gettext "The transaction may be in the pool of a node that didn't broadcast it yet" %>
  • -
  • <%= gettext "Some transactions may take a while longer to be indexed depending on the load on the network" %>
  • -
  • <%= gettext "The transaction still does not exist" %>
  • -
-
-
-
-
-
-
-
-%> -
- Block Not Found + Block Not Found

Sorry, We are unable to locate this transaction Hash

From 5fb7b3270acfc1583cc43788478c7912c2c5d0e8 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 21 May 2019 20:02:51 +0300 Subject: [PATCH 05/20] removed obsolete assets, gettext executed --- .../images/errors-tpl/block-not-found.html | 20 --------- .../images/errors-tpl/tx-not-found.html | 41 ------------------ apps/block_scout_web/priv/gettext/default.pot | 43 ------------------- 3 files changed, 104 deletions(-) delete mode 100644 apps/block_scout_web/assets/static/images/errors-tpl/block-not-found.html delete mode 100644 apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html diff --git a/apps/block_scout_web/assets/static/images/errors-tpl/block-not-found.html b/apps/block_scout_web/assets/static/images/errors-tpl/block-not-found.html deleted file mode 100644 index 838291b8cf..0000000000 --- a/apps/block_scout_web/assets/static/images/errors-tpl/block-not-found.html +++ /dev/null @@ -1,20 +0,0 @@ - - -
-
- -
-
-
- Block Not Found -
-
-

Lorem Ipsum Dolor

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

- Back Home -
-
-
- -
-
\ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html b/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html deleted file mode 100644 index 462f782d4d..0000000000 --- a/apps/block_scout_web/assets/static/images/errors-tpl/tx-not-found.html +++ /dev/null @@ -1,41 +0,0 @@ - - -
-
- -
-
-
- Block Not Found -
-
-

Sorry, We are unable to locate this transaction Hash

-
-
-
- 1 -

If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page.

-
-
- 2 -

It could still be in the TX Pool of a different node, waiting to be broadcasted.

-
-
-
-
- 3 -

During times when the network is busy (i.e during ICOs) it can take a while for your transaction to propagate through the network and for us to index it.

-
-
- 4 -

If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional information.

-
-
-
- Back Home -
-
-
- -
-
\ No newline at end of file diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 7922c7d2f0..88638971ea 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -312,13 +312,11 @@ msgid "Copy Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:10 #: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:14 #: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" @@ -909,7 +907,6 @@ msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:22 #: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" @@ -1162,11 +1159,6 @@ msgstr "" msgid "Raw Input" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/block_transaction/404.html.eex:7 -msgid "Block Details" -msgstr "" - #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." @@ -1187,41 +1179,6 @@ msgstr "" msgid "Invalid Transaction Hash" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:33 -msgid "Once we have the transaction's data this page will refresh automatically" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:38 -msgid "Some transactions may take a while longer to be indexed depending on the load on the network" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:34 -msgid "The possible reasons for this transaction not being processed include the following:" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:29 -msgid "The transaction %{bold_hash} was not processed yet" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:37 -msgid "The transaction may be in the pool of a node that didn't broadcast it yet" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:39 -msgid "The transaction still does not exist" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:36 -msgid "The transaction was made a few seconds ago" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" From 5b0a70bcfc6b105f586ff441f4d7228ee6b01d71 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Wed, 22 May 2019 01:25:00 +0300 Subject: [PATCH 06/20] content issues, test runned --- .../block_scout_web/templates/block_transaction/404.html.eex | 4 ++-- apps/block_scout_web/priv/gettext/default.pot | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex index 762bc62e43..ce9f49ad7a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/404.html.eex @@ -4,8 +4,8 @@ Block Not Found
-

Lorem Ipsum Dolor

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

+

<%= gettext("Block Details") %>

+

<%= block_not_found_message(@block_above_tip) %>

Back Home
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 88638971ea..65a9fd7564 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1702,3 +1702,8 @@ msgstr "" #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:37 msgid "of" msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/block_transaction/404.html.eex:7 +msgid "Block Details" +msgstr "" From 5892fa6de6bbcff87c4324fee1a45577facfefd5 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Wed, 22 May 2019 01:26:50 +0300 Subject: [PATCH 07/20] content issues, test runned --- .dialyzer-ignore | 2 +- CHANGELOG.md | 10 + README.md | 179 ++-- .../assets/css/components/_card.scss | 4 +- .../assets/css/components/_dropdown.scss | 4 +- .../lib/block_scout_web/chain.ex | 8 +- .../controllers/address_logs_controller.ex | 46 + .../controllers/api/rpc/block_controller.ex | 8 + .../api/rpc/contract_controller.ex | 5 + .../lib/block_scout_web/etherscan.ex | 59 +- .../lib/block_scout_web/router.ex | 7 + .../templates/address/_tabs.html.eex | 7 +- .../templates/address_contract/index.html.eex | 58 +- .../templates/address_logs/index.html.eex | 82 ++ .../_token_balances.html.eex | 4 +- .../views/address_contract_view.ex | 13 + .../views/address_decompiled_contract_view.ex | 5 +- .../views/address_logs_view.ex | 3 + .../lib/block_scout_web/views/address_view.ex | 1 + .../views/api/rpc/block_view.ex | 28 +- .../views/api/rpc/eth_rpc_view.ex | 33 + .../views/api/rpc/transaction_view.ex | 3 +- .../lib/block_scout_web/views/layout_view.ex | 18 +- apps/block_scout_web/priv/gettext/default.pot | 72 +- .../priv/gettext/en/LC_MESSAGES/default.po | 76 +- .../api/rpc/address_controller_test.exs | 1 - .../api/rpc/contract_controller_test.exs | 57 ++ .../api/rpc/transaction_controller_test.exs | 3 +- .../address_decompiled_contract_view_test.exs | 24 +- .../views/layout_view_test.exs | 28 +- apps/explorer/config/config.exs | 10 + apps/explorer/config/test.exs | 2 + apps/explorer/lib/explorer/application.ex | 3 +- apps/explorer/lib/explorer/chain.ex | 119 ++- apps/explorer/lib/explorer/chain/block.ex | 6 +- .../lib/explorer/chain/block_number_cache.ex | 57 +- .../chain/import/runner/staking_pools.ex | 47 +- .../chain/import/runner/transactions.ex | 50 +- .../chain/internal_transaction/result.ex | 2 +- .../lib/explorer/chain/transaction.ex | 5 + apps/explorer/lib/explorer/paging_options.ex | 5 +- .../lib/explorer/staking/epoch_counter.ex | 124 +++ .../lib/explorer/staking/pools_reader.ex | 23 +- .../priv/contracts_abi/pos/staking.json | 802 ++++++++++-------- ...22_add_old_block_hash_for_transactions.exs | 12 + ...0513134025_add_refetch_needed_to_block.exs | 11 + .../chain/block_number_cache_test.exs | 64 +- .../chain/import/runner/blocks_test.exs | 47 +- .../import/runner/staking_pools_test.exs | 86 +- .../chain/internal_transaction_test.exs | 4 +- apps/explorer/test/explorer/chain_test.exs | 100 +++ .../explorer/staking/epoch_counter_test.exs | 97 +++ .../explorer/staking/pools_reader_test.exs | 21 +- apps/explorer/test/support/data_case.ex | 2 +- apps/explorer/test/support/factory.ex | 20 + apps/indexer/README.md | 1 + apps/indexer/lib/indexer/block/fetcher.ex | 14 +- .../lib/indexer/fetcher/staking_pools.ex | 1 + apps/indexer/lib/indexer/supervisor.ex | 3 + .../temporary/blocks_transactions_mismatch.ex | 115 +++ .../indexer/fetcher/staking_pools_test.exs | 19 + 61 files changed, 1992 insertions(+), 728 deletions(-) create mode 100644 apps/block_scout_web/lib/block_scout_web/controllers/address_logs_controller.ex create mode 100644 apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex create mode 100644 apps/block_scout_web/lib/block_scout_web/views/address_logs_view.ex create mode 100644 apps/block_scout_web/lib/block_scout_web/views/api/rpc/eth_rpc_view.ex create mode 100644 apps/explorer/lib/explorer/staking/epoch_counter.ex create mode 100644 apps/explorer/priv/repo/migrations/20190508152922_add_old_block_hash_for_transactions.exs create mode 100644 apps/explorer/priv/repo/migrations/20190513134025_add_refetch_needed_to_block.exs create mode 100644 apps/explorer/test/explorer/staking/epoch_counter_test.exs create mode 100644 apps/indexer/lib/indexer/temporary/blocks_transactions_mismatch.ex diff --git a/.dialyzer-ignore b/.dialyzer-ignore index 11bb3be729..53e3554c6e 100644 --- a/.dialyzer-ignore +++ b/.dialyzer-ignore @@ -4,4 +4,4 @@ apps/ethereum_jsonrpc/lib/ethereum_jsonrpc.ex:400: Function timestamp_to_datetime/1 has no local return apps/explorer/lib/explorer/repo/prometheus_logger.ex:8: Function microseconds_time/1 has no local return apps/explorer/lib/explorer/repo/prometheus_logger.ex:8: The call 'Elixir.System':convert_time_unit(__@1::any(),'native','microseconds') breaks the contract (integer(),time_unit() | 'native',time_unit() | 'native') -> integer() -apps/block_scout_web/lib/block_scout_web/views/layout_view.ex:162: The call 'Elixir.Poison.Parser':'parse!'(any(),#{'keys':='atoms!'}) will never return since the success typing is (binary() | maybe_improper_list(binary() | maybe_improper_list(any(),binary() | []) | byte(),binary() | []),[{atom(),_}]) -> 'false' | 'nil' | 'true' | binary() | ['false' | 'nil' | 'true' | binary() | [any()] | number() | map()] | number() | map() and the contract is (iodata(),'Elixir.Keyword':t()) -> t() \ No newline at end of file +apps/block_scout_web/lib/block_scout_web/views/layout_view.ex:174: The call 'Elixir.Poison.Parser':'parse!'(any(),#{'keys':='atoms!'}) will never return since the success typing is (binary() | maybe_improper_list(binary() | maybe_improper_list(any(),binary() | []) | byte(),binary() | []),[{atom(),_}]) -> 'false' | 'nil' | 'true' | binary() | ['false' | 'nil' | 'true' | binary() | [any()] | number() | map()] | number() | map() and the contract is (iodata(),'Elixir.Keyword':t()) -> t() \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 129593bfca..c80371aa74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,9 +23,15 @@ - [#1920](https://github.com/poanetwork/blockscout/pull/1920) - fix: remove source code fields from list endpoint - [#1876](https://github.com/poanetwork/blockscout/pull/1876) - async calculate a count of blocks - [#1941](https://github.com/poanetwork/blockscout/pull/1941) - feat: add on demand fetching and stale attr to rpc +- [#1957](https://github.com/poanetwork/blockscout/pull/1957) - Calculate stakes ratio before insert pools +- [#1956](https://github.com/poanetwork/blockscout/pull/1956) - add logs tab to address +- [#1933](https://github.com/poanetwork/blockscout/pull/1933) - add eth_BlockNumber json rpc method +- [#1952](https://github.com/poanetwork/blockscout/pull/1952) - feat: exclude empty contracts by default +- [#1954](https://github.com/poanetwork/blockscout/pull/1954) - feat: use creation init on self destruct ### Fixes +- [#1944](https://github.com/poanetwork/blockscout/pull/1944) - fixed styles for token's dropdown. - [#1926](https://github.com/poanetwork/blockscout/pull/1926) - status label alignment - [#1829](https://github.com/poanetwork/blockscout/pull/1829) - Handle nil quantities in block decoding routine - [#1830](https://github.com/poanetwork/blockscout/pull/1830) - Make block size field nullable @@ -44,6 +50,8 @@ - [#1898](https://github.com/poanetwork/blockscout/pull/1898) - check if the constructor has arguments before verifying constructor arguments - [#1915](https://github.com/poanetwork/blockscout/pull/1915) - fallback to 2 latest evm versions - [#1937](https://github.com/poanetwork/blockscout/pull/1937) - Check the presence of overlap[i] object before retrieving properties from it +- [#1960](https://github.com/poanetwork/blockscout/pull/1960) - do not remove bold text in decompiled contacts +- [#1917](https://github.com/poanetwork/blockscout/pull/1917) - Force block refetch if transaction is re-collated in a different block ### Chore @@ -51,6 +59,8 @@ - [#1837](https://github.com/poanetwork/blockscout/pull/1837) - Add -f flag to clear_build.sh script delete static folder - [#1900](https://github.com/poanetwork/blockscout/pull/1900) - SUPPORTED_CHAINS ENV var - [#1892](https://github.com/poanetwork/blockscout/pull/1892) - Remove temporary worker modules +- [#1958](https://github.com/poanetwork/blockscout/pull/1958) - Default value for release link env var +- [#1975](https://github.com/poanetwork/blockscout/pull/1975) - add log index to transaction view ## 1.3.10-beta diff --git a/README.md b/README.md index 9755475dbe..1c86dfc34a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,9 @@ BlockScout provides a comprehensive, easy-to-use interface for users to view, co Following is an overview of the project and instructions for [getting started](#getting-started). -Visit the [POA BlockScout forum](https://forum.poa.network/c/blockscout) or the [Gitter Channel](https://gitter.im/poanetwork/blockscout) to access additional information or post questions. +Visit the [POA BlockScout forum](https://forum.poa.network/c/blockscout) for additional deployment instructions, FAQs, troubleshooting, and other BlockScout related items. You can also post and answer questions here. + +You can also access the dev chatroom on our [Gitter Channel](https://gitter.im/poanetwork/blockscout). ## About BlockScout @@ -41,31 +43,16 @@ Currently available block explorers (i.e. Etherscan and Etherchain) are closed s ### Supported Projects -#### Hosted Chains - -* [POA Core Network](https://blockscout.com/poa/core) -* [POA Sokol Testnet](https://blockscout.com/poa/sokol) -* [xDai Chain](https://blockscout.com/poa/dai) -* [Ethereum Mainnet](https://blockscout.com/eth/mainnet) -* [Kovan Testnet](https://blockscout.com/eth/kovan) -* [Ropsten Testnet](https://blockscout.com/eth/ropsten) -* [Goerli Testnet](https://blockscout.com/eth/goerli) -* [Rinkeby Testnet](https://blockscout.com/eth/rinkeby) -* [Ethereum Classic](https://blockscout.com/etc/mainnet) -* [Aerum](https://blockscout.com/aerum/mainnet) -* [Callisto](https://blockscout.com/callisto/mainnet) -* [RSK](https://blockscout.com/rsk/mainnet) - -#### Additional Chains Utilizing BlockScout - -* [Oasis Labs](https://blockexplorer.oasiscloud.io/) -* [Fuse Network](https://explorer.fuse.io/) -* [ARTIS](https://explorer.sigma1.artis.network) -* [SafeChain](https://explorer.safechain.io) -* [SpringChain](https://explorer.springrole.com/) -* [PIRL](http://pirl.es/) -* [Petrichor](https://explorer.petrichor-dev.com/) -* [Ether-1](https://blocks.ether1.wattpool.net/) +| **Hosted Mainnets** | **Hosted Testnets** | **Additional Chains using BlockScout** | +|--------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------| +| [Aerum](https://blockscout.com/aerum/mainnet) | [Goerli Testnet](https://blockscout.com/eth/goerli) | [ARTIS](https://explorer.sigma1.artis.network) | +| [Callisto](https://blockscout.com/callisto/mainnet) | [Kovan Testnet](https://blockscout.com/eth/kovan) | [Ether-1](https://blocks.ether1.wattpool.net/) | +| [Ethereum Classic](https://blockscout.com/etc/mainnet) | [POA Sokol Testnet](https://blockscout.com/poa/sokol) | [Fuse Network](https://explorer.fuse.io/) | +| [Ethereum Mainnet](https://blockscout.com/eth/mainnet) | [Rinkeby Testnet](https://blockscout.com/eth/rinkeby) | [Oasis Labs](https://blockexplorer.oasiscloud.io/) | +| [POA Core Network](https://blockscout.com/poa/core) | [Ropsten Testnet](https://blockscout.com/eth/ropsten) | [Petrichor](https://explorer.petrachor.com/) | +| [RSK](https://blockscout.com/rsk/mainnet) | | [PIRL](http://pirl.es/) | +| [xDai Chain](https://blockscout.com/poa/dai) | | [SafeChain](https://explorer.safechain.io) | +| | | [SpringChain](https://explorer.springrole.com/) | ### Visual Interface @@ -74,13 +61,24 @@ Interface for the POA network _updated 02/2019_ ![BlockScout Example](explorer_example_2_2019.gif) -## Getting Started -We use [Terraform](https://www.terraform.io/intro/getting-started/install.html) to build the correct infrastructure to run BlockScout. See [https://github.com/poanetwork/blockscout-terraform](https://github.com/poanetwork/blockscout-terraform) for details. +### Umbrella Project Organization -### Requirements +This repository is an [umbrella project](https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html). Each directory under `apps/` is a separate [Mix](https://hexdocs.pm/mix/Mix.html) project and [OTP application](https://hexdocs.pm/elixir/Application.html), but the projects can use each other as a dependency in their `mix.exs`. -The [development stack page](https://github.com/poanetwork/blockscout/wiki/Development-Stack) contains more information about these frameworks. +Each OTP application has a restricted domain. + +| Directory | OTP Application | Namespace | Purpose | +|:------------------------|:--------------------|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `apps/ethereum_jsonrpc` | `:ethereum_jsonrpc` | `EthereumJSONRPC` | Ethereum JSONRPC client. It is allowed to know `Explorer`'s param format, but it cannot directly depend on `:explorer` | +| `apps/explorer` | `:explorer` | `Explorer` | Storage for the indexed chain. Can read and write to the backing storage. MUST be able to boot in a read-only mode when run independently from `:indexer`, so cannot depend on `:indexer` as that would start `:indexer` indexing. | +| `apps/block_scout_web` | `:block_scout_web` | `BlockScoutWeb` | Phoenix interface to `:explorer`. The minimum interface to allow web access should go in `:block_scout_web`. Any business rules or interface not tied directly to `Phoenix` or `Plug` should go in `:explorer`. MUST be able to boot in a read-only mode when run independently from `:indexer`, so cannot depend on `:indexer` as that would start `:indexer` indexing. | +| `apps/indexer` | `:indexer` | `Indexer` | Uses `:ethereum_jsonrpc` to index chain and batch import data into `:explorer`. Any process, `Task`, or `GenServer` that automatically reads from the chain and writes to `:explorer` should be in `:indexer`. This restricts automatic writes to `:indexer` and read-only mode can be achieved by not running `:indexer`. | + + +## Getting Started + +### Requirements | Dependency | Mac | Linux | |-------------|-----|-------| @@ -96,121 +94,42 @@ The [development stack page](https://github.com/poanetwork/blockscout/wiki/Devel ### Build and Run - 1. Clone the repository. - `git clone https://github.com/poanetwork/blockscout` - - 2. Go to the explorer subdirectory. - `cd blockscout` - - 3. Set up default configurations. - `cp apps/explorer/config/dev.secret.exs.example apps/explorer/config/dev.secret.exs` - `cp apps/block_scout_web/config/dev.secret.exs.example apps/block_scout_web/config/dev.secret.exs` -
Linux: Update the database username and password configuration in `apps/explorer/config/dev.secret.exs` -
Mac: Remove the `username` and `password` fields from `apps/explorer/config/dev.secret.exs` -
Optional: Set up default configuration for testing. - `cp apps/explorer/config/test.secret.exs.example apps/explorer/config/test.secret.exs` - Example usage: Changing the default Postgres port from localhost:15432 if [Boxen](https://github.com/boxen/boxen) is installed. - - 4. Install dependencies. - `mix do deps.get, local.rebar --force, deps.compile, compile` - - 5. Create and migrate database. - `mix ecto.create && mix ecto.migrate` -
_Note:_ If you have run previously, drop the previous database - `mix do ecto.drop, ecto.create, ecto.migrate` - - 6. Install Node.js dependencies. - `cd apps/block_scout_web/assets && npm install; cd -` - `cd apps/explorer && npm install; cd -` +#### Playbook Deployment - 7. Update your JSON RPC Variant in `apps/explorer/config/dev.exs` and `apps/indexer/config/dev.exs`. - For `variant`, enter `ganache`, `geth`, `parity`, or `rsk` +We use [Ansible](https://docs.ansible.com/ansible/latest/index.html) & [Terraform](https://www.terraform.io/intro/getting-started/install.html) to build the correct infrastructure to run BlockScout. See [https://github.com/poanetwork/blockscout-terraform](https://github.com/poanetwork/blockscout-terraform) for details and instructions. - 8. Update your JSON RPC Endpoint in `apps/explorer/config/dev/` and `apps/indexer/config/dev/` - For the `variant` chosen in step 7, enter the correct information for the corresponding JSON RPC Endpoint in `parity.exs`, `geth.exs`, or `ganache.exs` +#### Manual Deployment - 9. Enable HTTPS in development. The Phoenix server only runs with HTTPS. - * `cd apps/block_scout_web` - * `mix phx.gen.cert blockscout blockscout.local; cd -` - * Add blockscout and blockscout.local to your `/etc/hosts` - ``` - 127.0.0.1 localhost blockscout blockscout.local - 255.255.255.255 broadcasthost - ::1 localhost blockscout blockscout.local - ``` - * If using Chrome, Enable `chrome://flags/#allow-insecure-localhost`. +See [Manual BlockScout Deployment](https://forum.poa.network/t/manual-blockscout-deployment/2458) for instructions. - 9. Run the Phoenix Server from the root directory of your application. - `mix phx.server` +#### Environment Variables -Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. +Our forum contains a [full list of BlockScout environment variables](https://forum.poa.network/t/faq-blockscout-environment-variables/1814). -_Additional runtime options:_ +#### Configuring EVM Chains -* Run Phoenix Server with IEx (Interactive Elixer) -`iex -S mix phx.server` +* **CSS:** Update the import instruction in `apps/block_scout_web/assets/css/theme/_variables.scss` to select a preset css file. This is reflected in the `production-${chain}` branch for each instance. For example, in the `production-xdai` branch, it is set to `@import "dai-variables"`. -* Run Phoenix Server with real time indexer -`iex -S mix phx.server` +* **ENV:** Update the [environment variables](https://forum.poa.network/t/faq-blockscout-environment-variables/1814) to match the chain specs. -### Automating Restarts +#### Automating Restarts By default `blockscout` does not restart if it crashes. To enable automated -restarts, set the environment variable `HEART_COMMAND` to whatever you run to -start `blockscout`. You can configure the heart beat timeout, which will change -how long it will wait before considering the application to be unresponsive. At -that point, it will kill the current blockscout and execute `HEART_COMMAND`. -By default a crash dump is not written unless you set `ERL_CRASH_DUMP_SECONDS` -to a positive or negative integer. See the documentation for -[heart](http://erlang.org/doc/man/heart.html) for more information. +restarts, set the environment variable `HEART_COMMAND` to whatever command you run to start `blockscout`. Configure the heart beat timeout to change how long it waits before considering the application unresponsive. At that point, it will kill the current blockscout instance and execute the `HEART_COMMAND`. By default a crash dump is not written unless you set `ERL_CRASH_DUMP_SECONDS` to a positive or negative integer. See the [heart](http://erlang.org/doc/man/heart.html) documentation for more information. -### Configuring Ethereum Classic and other EVM Chains -**Note: Most of these modifications will be consolidated into a single file in the future.** - - 1. Update the import file in `apps/block_scout_web/assets/css/theme/_variables.scss`. There are several preset css files for our supported chains which include Ethereum Classic, Ethereum Mainnet, Ropsten Testnet, Kovan Testnet, POA Core, and POA Sokol. To deploy Ethereum Classic, change the import to `ethereum_classic_variables`. - - 2. Update the logo file in `apps/block_scout_web/config/config.exs`. To deploy Ethereum Classic, change this file to `classic_ethereum_logo.svg`. - - 3. Update the `check_origin` configuration in `apps/block_scout_web/config/prod.exs`. This allows realtime events to occur on your endpoint. - - 4. Update the node configuration. You will need a full tracing node with WebSockets enabled. Make the changes in the following files (dev/prod): - - * `apps/explorer/config/dev/parity.exs` - * `apps/explorer/config/prod/parity.exs` - * `apps/indexer/config/dev/parity.exs` - * `apps/indexer/config/prod/parity.exs` - - 5. Update the dropdown menu in the main navigation `apps/block_scout_web/lib/block_scout_web/templates/layout/_topnav.html.eex` - - 6. Update the coin in `apps/explorer/config/config.exs`. This will pull relevant information from Coinmarketcap.com. - -### Umbrella Project Organization - -This repository is an [umbrella project](https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html). Each directory under `apps/` is a separate [Mix](https://hexdocs.pm/mix/Mix.html) project and [OTP application](https://hexdocs.pm/elixir/Application.html), but the projects can use each other as a dependency in their `mix.exs`. - -Each OTP application has a restricted domain. - -| Directory | OTP Application | Namespace | Purpose | -|:------------------------|:--------------------|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `apps/ethereum_jsonrpc` | `:ethereum_jsonrpc` | `EthereumJSONRPC` | Ethereum JSONRPC client. It is allowed to know `Explorer`'s param format, but it cannot directly depend on `:explorer` | -| `apps/explorer` | `:explorer` | `Explorer` | Storage for the indexed chain. Can read and write to the backing storage. MUST be able to boot in a read-only mode when run independently from `:indexer`, so cannot depend on `:indexer` as that would start `:indexer` indexing. | -| `apps/block_scout_web` | `:block_scout_web` | `BlockScoutWeb` | Phoenix interface to `:explorer`. The minimum interface to allow web access should go in `:block_scout_web`. Any business rules or interface not tied directly to `Phoenix` or `Plug` should go in `:explorer`. MUST be able to boot in a read-only mode when run independently from `:indexer`, so cannot depend on `:indexer` as that would start `:indexer` indexing. | -| `apps/indexer` | `:indexer` | `Indexer` | Uses `:ethereum_jsonrpc` to index chain and batch import data into `:explorer`. Any process, `Task`, or `GenServer` that automatically reads from the chain and writes to `:explorer` should be in `:indexer`. This restricts automatic writes to `:indexer` and read-only mode can be achieved by not running `:indexer`. | - - -### CircleCI Updates +#### CircleCI Updates To monitor build status, configure your local [CCMenu](http://ccmenu.org/) with the following url: [`https://circleci.com/gh/poanetwork/blockscout.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604`](https://circleci.com/gh/poanetwork/blockscout.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604) -### Testing +## Testing -#### Requirements +### Requirements * PhantomJS (for wallaby) -#### Running the tests +### Running the tests 1. Build the assets. `cd apps/block_scout_web/assets && npm run build; cd -` @@ -237,9 +156,9 @@ To monitor build status, configure your local [CCMenu](http://ccmenu.org/) with 8. Test the JavaScript code. `cd apps/block_scout_web/assets && npm run test; cd -` -##### Parity +#### Parity -###### Mox +##### Mox **This is the default setup. `mix coveralls.html --umbrella` will work on its own, but to be explicit, use the following setup**: @@ -249,7 +168,7 @@ export ETHEREUM_JSONRPC_WEB_SOCKET_CASE=EthereumJSONRPC.WebSocket.Case.Mox mix coveralls.html --umbrella --exclude no_parity ``` -###### HTTP / WebSocket +##### HTTP / WebSocket ```shell export ETHEREUM_JSONRPC_CASE=EthereumJSONRPC.Case.Parity.HTTPWebSocket @@ -262,9 +181,9 @@ mix coveralls.html --umbrella --exclude no_parity | HTTP | `http://localhost:8545` | | WebSocket | `ws://localhost:8546` | -##### Geth +#### Geth -###### Mox +##### Mox ```shell export ETHEREUM_JSONRPC_CASE=EthereumJSONRPC.Case.Geth.Mox @@ -272,7 +191,7 @@ export ETHEREUM_JSONRPC_WEB_SOCKET_CASE=EthereumJSONRPC.WebSocket.Case.Mox mix coveralls.html --umbrella --exclude no_geth ``` -###### HTTP / WebSocket +##### HTTP / WebSocket ```shell export ETHEREUM_JSONRPC_CASE=EthereumJSONRPC.Case.Geth.HTTPWebSocket diff --git a/apps/block_scout_web/assets/css/components/_card.scss b/apps/block_scout_web/assets/css/components/_card.scss index 4c34e4a31b..6e1b6a9725 100644 --- a/apps/block_scout_web/assets/css/components/_card.scss +++ b/apps/block_scout_web/assets/css/components/_card.scss @@ -18,8 +18,8 @@ $card-background-1-text-color: #fff !default; background-color: $card-background-1; color: $card-background-1-text-color; - a, - a:hover { + a:not(.dropdown-item), + a:not(.dropdown-item):hover { color: $card-background-1-text-color; } } diff --git a/apps/block_scout_web/assets/css/components/_dropdown.scss b/apps/block_scout_web/assets/css/components/_dropdown.scss index b603d53fea..c8962c021d 100644 --- a/apps/block_scout_web/assets/css/components/_dropdown.scss +++ b/apps/block_scout_web/assets/css/components/_dropdown.scss @@ -60,9 +60,9 @@ .dropdown-search-icon { color: $gray-300; - left: 0.625rem; + left: 8px; pointer-events: none; - top: 0.5rem; + top: 5px; } .dropdown-search-field { diff --git a/apps/block_scout_web/lib/block_scout_web/chain.ex b/apps/block_scout_web/lib/block_scout_web/chain.ex index cabac4ae02..9e82c30023 100644 --- a/apps/block_scout_web/lib/block_scout_web/chain.ex +++ b/apps/block_scout_web/lib/block_scout_web/chain.ex @@ -205,8 +205,12 @@ defmodule BlockScoutWeb.Chain do %{"block_number" => block_number, "transaction_index" => transaction_index, "index" => index} end - defp paging_params(%Log{index: index}) do - %{"index" => index} + defp paging_params(%Log{index: index} = log) do + if Ecto.assoc_loaded?(log.transaction) do + %{"block_number" => log.transaction.block_number, "transaction_index" => log.transaction.index, "index" => index} + else + %{"index" => index} + end end defp paging_params(%Transaction{block_number: nil, inserted_at: inserted_at, hash: hash}) do diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_logs_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_logs_controller.ex new file mode 100644 index 0000000000..f79d9aa08d --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_logs_controller.ex @@ -0,0 +1,46 @@ +defmodule BlockScoutWeb.AddressLogsController do + @moduledoc """ + Manages events logs tab. + """ + + import BlockScoutWeb.AddressController, only: [transaction_count: 1, validation_count: 1] + import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] + + alias Explorer.{Chain, Market} + alias Explorer.ExchangeRates.Token + alias Indexer.Fetcher.CoinBalanceOnDemand + + use BlockScoutWeb, :controller + + def index(conn, %{"address_id" => address_hash_string} = params) do + with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), + {:ok, address} <- Chain.hash_to_address(address_hash) do + logs_plus_one = Chain.address_to_logs(address, paging_options(params)) + {results, next_page} = split_list_by_page(logs_plus_one) + + next_page_url = + case next_page_params(next_page, results, params) do + nil -> + nil + + next_page_params -> + address_logs_path(conn, :index, address, next_page_params) + end + + render( + conn, + "index.html", + address: address, + logs: results, + coin_balance_status: CoinBalanceOnDemand.trigger_fetch(address), + exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), + transaction_count: transaction_count(address), + validation_count: validation_count(address), + next_page_url: next_page_url + ) + else + _ -> + not_found(conn) + end + end +end diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/block_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/block_controller.ex index e6991bf1af..8beb8ea8ea 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/block_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/block_controller.ex @@ -3,6 +3,7 @@ defmodule BlockScoutWeb.API.RPC.BlockController do alias BlockScoutWeb.Chain, as: ChainWeb alias Explorer.Chain + alias Explorer.Chain.BlockNumberCache def getblockreward(conn, params) do with {:block_param, {:ok, unsafe_block_number}} <- {:block_param, Map.fetch(params, "blockno")}, @@ -23,4 +24,11 @@ defmodule BlockScoutWeb.API.RPC.BlockController do render(conn, :error, error: "Block does not exist") end end + + def eth_block_number(conn, params) do + id = Map.get(params, "id", 1) + max_block_number = BlockNumberCache.max_number() + + render(conn, :eth_block_number, number: max_block_number, id: id) + end end diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/contract_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/contract_controller.ex index 886bbcd575..23dacd45da 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/contract_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/api/rpc/contract_controller.ex @@ -103,6 +103,9 @@ defmodule BlockScoutWeb.API.RPC.ContractController do :not_decompiled -> Chain.list_not_decompiled_contracts(page_size, offset) + :empty -> + Chain.list_empty_contracts(page_size, offset) + _ -> Chain.list_contracts(page_size, offset) end @@ -140,10 +143,12 @@ defmodule BlockScoutWeb.API.RPC.ContractController do defp contracts_filter(2), do: {:ok, :decompiled} defp contracts_filter(3), do: {:ok, :unverified} defp contracts_filter(4), do: {:ok, :not_decompiled} + defp contracts_filter(5), do: {:ok, :empty} defp contracts_filter("verified"), do: {:ok, :verified} defp contracts_filter("decompiled"), do: {:ok, :decompiled} defp contracts_filter("unverified"), do: {:ok, :unverified} defp contracts_filter("not_decompiled"), do: {:ok, :not_decompiled} + defp contracts_filter("empty"), do: {:ok, :empty} defp contracts_filter(filter) when is_bitstring(filter) do case Integer.parse(filter) do diff --git a/apps/block_scout_web/lib/block_scout_web/etherscan.ex b/apps/block_scout_web/lib/block_scout_web/etherscan.ex index 3621a12d10..3167689f3c 100644 --- a/apps/block_scout_web/lib/block_scout_web/etherscan.ex +++ b/apps/block_scout_web/lib/block_scout_web/etherscan.ex @@ -279,6 +279,12 @@ defmodule BlockScoutWeb.Etherscan do "result" => nil } + @block_eth_block_number_example_value %{ + "jsonrpc" => "2.0", + "result" => "767969", + "id" => 1 + } + @contract_listcontracts_example_value %{ "status" => "1", "message" => "OK", @@ -476,11 +482,26 @@ defmodule BlockScoutWeb.Etherscan do enum_interpretation: %{"0" => "error", "1" => "ok"} } + @jsonrpc_version_type %{ + type: "string", + example: ~s("2.0") + } + @message_type %{ type: "string", example: ~s("OK") } + @hex_number_type %{ + type: "string", + example: ~s("767969") + } + + @id_type %{ + type: "string", + example: ~s("1") + } + @wei_type %{ type: "wei", definition: &__MODULE__.wei_type_definition/1, @@ -573,6 +594,11 @@ defmodule BlockScoutWeb.Etherscan do type: "block number", definition: "A nonnegative number used to identify blocks.", example: ~s("0x5c958") + }, + index: %{ + type: "log index", + definition: "A nonnegative number used to identify logs.", + example: ~s("1") } } } @@ -1737,6 +1763,35 @@ defmodule BlockScoutWeb.Etherscan do ] } + @block_eth_block_number_action %{ + name: "eth_block_number", + description: "Mimics Ethereum JSON RPC's eth_blockNumber. Returns the lastest block number", + required_params: [], + optional_params: [ + %{ + key: "id", + placeholder: "request id", + type: "integer", + description: "A nonnegative integer that represents the json rpc request id." + } + ], + responses: [ + %{ + code: "200", + description: "successful request", + example_value: Jason.encode!(@block_eth_block_number_example_value), + model: %{ + name: "Result", + fields: %{ + jsonrpc: @jsonrpc_version_type, + id: @id_type, + result: @hex_number_type + } + } + } + ] + } + @block_getblockreward_action %{ name: "getblockreward", description: "Get block reward by block number.", @@ -1795,7 +1850,7 @@ defmodule BlockScoutWeb.Etherscan do key: "filter", type: "string", description: - "verified|decompiled|unverified|not_decompiled, or 1|2|3|4 respectively. This requests only contracts with that status." + "verified|decompiled|unverified|not_decompiled|empty, or 1|2|3|4|5 respectively. This requests only contracts with that status." }, %{ key: "not_decompiled_with_version", @@ -2171,7 +2226,7 @@ defmodule BlockScoutWeb.Etherscan do @block_module %{ name: "block", - actions: [@block_getblockreward_action] + actions: [@block_getblockreward_action, @block_eth_block_number_action] } @contract_module %{ diff --git a/apps/block_scout_web/lib/block_scout_web/router.ex b/apps/block_scout_web/lib/block_scout_web/router.ex index c0e975793f..b2f639d763 100644 --- a/apps/block_scout_web/lib/block_scout_web/router.ex +++ b/apps/block_scout_web/lib/block_scout_web/router.ex @@ -147,6 +147,13 @@ defmodule BlockScoutWeb.Router do as: :decompiled_contract ) + resources( + "/logs", + AddressLogsController, + only: [:index], + as: :logs + ) + resources( "/contract_verifications", AddressContractVerificationController, diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex index bbf27c8f96..8ed8d4e028 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex @@ -22,6 +22,11 @@ "data-test": "coin_balance_tab_link", to: address_coin_balance_path(@conn, :index, @address.hash) ) %> + <%= link( + gettext("Logs"), + class: "card-tab #{tab_status("logs", @conn.request_path)}", + to: address_logs_path(@conn, :index, @address.hash) + ) %> <%= if BlockScoutWeb.AddressView.validator?(@validation_count) do %> <%= link( gettext("Blocks Validated"), @@ -55,4 +60,4 @@ class: "card-tab #{tab_status("read_contract", @conn.request_path)}") %> <% end %> -
\ No newline at end of file +
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex index 560440fb4e..b7b2282682 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_contract/index.html.eex @@ -1,18 +1,25 @@ +<% contract_creation_code = contract_creation_code(@address) %> +
<%= render BlockScoutWeb.AddressView, "overview.html", assigns %>
<%= render BlockScoutWeb.AddressView, "_tabs.html", assigns %>
- <%= if !BlockScoutWeb.AddressView.smart_contract_verified?(@address) do %> - <%= link( - gettext("Verify & Publish"), - to: address_verify_contract_path(@conn, :new, @address.hash), - class: "button button-primary button-sm float-right ml-3", - "data-test": "verify_and_publish" - ) %> + <%= if match?({:selfdestructed, _}, contract_creation_code) do %> +
+ <%= gettext("Verify & Publish") %> +
+ <% else %> + <%= if !BlockScoutWeb.AddressView.smart_contract_verified?(@address) do %> + <%= link( + gettext("Verify & Publish"), + to: address_verify_contract_path(@conn, :new, @address.hash), + class: "button button-primary button-sm float-right ml-3", + "data-test": "verify_and_publish" + ) %> + <% end %> <% end %> - <%= if BlockScoutWeb.AddressView.smart_contract_verified?(@address) do %>
@@ -56,15 +63,32 @@ <% end %>
-
-

<%= gettext "Contract creation code" %>

- -
-
-
<%= @address.contract_code %>
-
+ <%= case contract_creation_code do %> + <% {:selfdestructed, transaction_init} -> %> +
+

<%= gettext "Contract Creation Code" %>

+ +
+
+

<%= gettext "Contracts that self destruct in their constructors have no contract code published and cannot be verified." %>

+

<%= gettext "Displaying the init data provided of the creating transaction." %>

+
+
+
<%= transaction_init %>
+
+ <% {:ok, contract_code} -> %> +
+

<%= gettext "Contract Byte Code" %>

+ +
+
+
<%= contract_code %>
+
+ <% end %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex new file mode 100644 index 0000000000..22f446924f --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/index.html.eex @@ -0,0 +1,82 @@ +
+ <%= render BlockScoutWeb.AddressView, "overview.html", assigns %> +
+ <%= render BlockScoutWeb.AddressView, "_tabs.html", assigns %> + +
+ +

<%= gettext "Logs" %>

+ + <%= if @next_page_url do %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: @next_page_url %> + <% end %> + + <%= if !@next_page_url do %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> + <% end %> + + <%= if Enum.count(@logs) > 0 do %> + <%= for log <- @logs do %> +
+
+
<%= gettext "Transaction" %>
+
+

+ <%= link( + log.transaction, + to: transaction_path(@conn, :show, log.transaction), + "data-test": "log_address_link", + "data-address-hash": log.transaction + ) %> +

+
+
<%= gettext "Topics" %>
+
+
+ <%= unless is_nil(log.first_topic) do %> +
+ [0] + <%= log.first_topic %> +
+ <% end %> + <%= unless is_nil(log.second_topic) do %> +
+ [1] + <%= log.second_topic %> +
+ <% end %> + <%= unless is_nil(log.third_topic) do %> +
+ [2] + <%= log.third_topic %> +
+ <% end %> + <%= unless is_nil(log.fourth_topic) do %> +
+ [3] + <%= log.fourth_topic %> +
+ <% end %> +
+
+
+ <%= gettext "Data" %> +
+
+ <%= unless is_nil(log.data) do %> +
+ <%= log.data %> +
+ <% end %> +
+
+
+ <% end %> + <% else %> +
+ <%= gettext "There are no logs for this address." %> +
+ <% end %> +
+
+
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex index 6f1dc762fd..de0215727c 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex @@ -1,6 +1,6 @@ <%= if Enum.any?(@token_balances) do %> - >}, + contracts_creation_internal_transaction: %InternalTransaction{init: init} + }) do + {:selfdestructed, init} + end + + def contract_creation_code(%Address{contract_code: contract_code}) do + {:ok, contract_code} + end end diff --git a/apps/block_scout_web/lib/block_scout_web/views/address_decompiled_contract_view.ex b/apps/block_scout_web/lib/block_scout_web/views/address_decompiled_contract_view.ex index f80a0ded99..b92d356479 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/address_decompiled_contract_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/address_decompiled_contract_view.ex @@ -165,7 +165,10 @@ defmodule BlockScoutWeb.AddressDecompiledContractView do |> String.replace("\e[1m", "") |> String.replace("»", "»") |> String.replace("\e[0m", "") - |> String.split(~r/\|\<\/span\>/, include_captures: true, trim: true) + |> String.split(~r/\|\|\<\/span\>/, + include_captures: true, + trim: true + ) |> add_styles_to_every_line() result diff --git a/apps/block_scout_web/lib/block_scout_web/views/address_logs_view.ex b/apps/block_scout_web/lib/block_scout_web/views/address_logs_view.ex new file mode 100644 index 0000000000..7155e65206 --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/views/address_logs_view.ex @@ -0,0 +1,3 @@ +defmodule BlockScoutWeb.AddressLogsView do + use BlockScoutWeb, :view +end diff --git a/apps/block_scout_web/lib/block_scout_web/views/address_view.ex b/apps/block_scout_web/lib/block_scout_web/views/address_view.ex index 6ce72b90ae..7a6005d526 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/address_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/address_view.ex @@ -300,6 +300,7 @@ defmodule BlockScoutWeb.AddressView do defp tab_name(["read_contract"]), do: gettext("Read Contract") defp tab_name(["coin_balances"]), do: gettext("Coin Balance History") defp tab_name(["validations"]), do: gettext("Blocks Validated") + defp tab_name(["logs"]), do: gettext("Logs") def short_hash(%Address{hash: hash}) do << diff --git a/apps/block_scout_web/lib/block_scout_web/views/api/rpc/block_view.ex b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/block_view.ex index 941a064804..5c98794b2a 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/api/rpc/block_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/block_view.ex @@ -1,7 +1,7 @@ defmodule BlockScoutWeb.API.RPC.BlockView do use BlockScoutWeb, :view - alias BlockScoutWeb.API.RPC.RPCView + alias BlockScoutWeb.API.RPC.{EthRPCView, RPCView} alias Explorer.Chain.{Hash, Wei} def render("block_reward.json", %{block: block, reward: reward}) do @@ -22,7 +22,33 @@ defmodule BlockScoutWeb.API.RPC.BlockView do RPCView.render("show.json", data: data) end + def render("eth_block_number.json", %{number: number, id: id}) do + result = encode_quantity(number) + + EthRPCView.render("show.json", %{result: result, id: id}) + end + def render("error.json", %{error: error}) do RPCView.render("error.json", error: error) end + + defp encode_quantity(binary) when is_binary(binary) do + hex_binary = Base.encode16(binary, case: :lower) + + result = String.replace_leading(hex_binary, "0", "") + + final_result = if result == "", do: "0", else: result + + "0x#{final_result}" + end + + defp encode_quantity(value) when is_integer(value) do + value + |> :binary.encode_unsigned() + |> encode_quantity() + end + + defp encode_quantity(value) when is_nil(value) do + nil + end end diff --git a/apps/block_scout_web/lib/block_scout_web/views/api/rpc/eth_rpc_view.ex b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/eth_rpc_view.ex new file mode 100644 index 0000000000..39eb5ae9d1 --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/eth_rpc_view.ex @@ -0,0 +1,33 @@ +defmodule BlockScoutWeb.API.RPC.EthRPCView do + use BlockScoutWeb, :view + + defstruct [:result, :id, :error] + + def render("show.json", %{result: result, id: id}) do + %__MODULE__{ + result: result, + id: id + } + end + + def render("error.json", %{error: message, id: id}) do + %__MODULE__{ + error: message, + id: id + } + end + + defimpl Poison.Encoder, for: BlockScoutWeb.API.RPC.EthRPCView do + def encode(%BlockScoutWeb.API.RPC.EthRPCView{result: result, id: id, error: error}, _options) when is_nil(error) do + """ + {"jsonrpc":"2.0","result":"#{result}","id":#{id}} + """ + end + + def encode(%BlockScoutWeb.API.RPC.EthRPCView{id: id, error: error}, _options) do + """ + {"jsonrpc":"2.0","error": #{error},"id": #{id}} + """ + end + end +end diff --git a/apps/block_scout_web/lib/block_scout_web/views/api/rpc/transaction_view.ex b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/transaction_view.ex index 459272df07..e792be8f40 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/api/rpc/transaction_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/api/rpc/transaction_view.ex @@ -77,7 +77,8 @@ defmodule BlockScoutWeb.API.RPC.TransactionView do %{ "address" => "#{log.address_hash}", "topics" => get_topics(log), - "data" => "#{log.data}" + "data" => "#{log.data}", + "index" => "#{log.index}" } end diff --git a/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex b/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex index 7a454a0e72..12df6d3f0a 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex @@ -142,10 +142,22 @@ defmodule BlockScoutWeb.LayoutView do end def release_link(version) do - release_link = Application.get_env(:block_scout_web, :release_link) + release_link_env_var = Application.get_env(:block_scout_web, :release_link) - if release_link == "" || release_link == nil do - version + release_link = + cond do + version == "" || version == nil -> + nil + + release_link_env_var == "" || release_link_env_var == nil -> + "https://github.com/poanetwork/blockscout/releases/tag/" <> version + + true -> + release_link_env_var + end + + if release_link == nil do + "" else html_escape({:safe, "#{version}"}) end diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 65a9fd7564..12add2c649 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -187,7 +187,7 @@ msgid "Blocks Indexed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:27 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 #: lib/block_scout_web/views/address_view.ex:302 @@ -215,7 +215,7 @@ msgid "Close" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:37 +#: lib/block_scout_web/templates/address/_tabs.html.eex:42 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/views/address_view.ex:298 @@ -228,7 +228,7 @@ msgid "Compiler" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:23 +#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" @@ -256,7 +256,7 @@ msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:46 +#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" @@ -289,17 +289,12 @@ msgid "Contract Name" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:60 -msgid "Contract creation code" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:19 +#: lib/block_scout_web/templates/address_contract/index.html.eex:26 msgid "Contract name:" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:34 +#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" @@ -332,6 +327,7 @@ msgid "Curl" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:63 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:18 #: lib/block_scout_web/templates/transaction_log/index.html.eex:67 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 @@ -503,8 +499,11 @@ msgid "Limit" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: 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:303 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" @@ -619,7 +618,7 @@ msgid "Older" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:27 +#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" @@ -680,7 +679,7 @@ msgid "Query" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:53 +#: lib/block_scout_web/templates/address/_tabs.html.eex:58 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 #: lib/block_scout_web/views/address_view.ex:300 #: lib/block_scout_web/views/tokens/overview_view.ex:37 @@ -872,6 +871,7 @@ msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:33 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" @@ -892,6 +892,7 @@ msgid "Total transactions" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:22 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" @@ -979,7 +980,8 @@ msgid "Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:9 +#: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" @@ -1044,7 +1046,7 @@ msgid "at" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_contract_view.ex:20 +#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" @@ -1062,7 +1064,7 @@ msgid "string" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_contract_view.ex:19 +#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" @@ -1466,17 +1468,17 @@ msgid "Support" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:48 +#: lib/block_scout_web/templates/address_contract/index.html.eex:55 msgid "Copy ABI" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:62 +#: lib/block_scout_web/templates/address_contract/index.html.eex:71 msgid "Copy Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:36 +#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" @@ -1618,7 +1620,7 @@ msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:47 +#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" @@ -1704,6 +1706,36 @@ msgid "of" msgstr "" #, elixir-format +<<<<<<< HEAD #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 msgid "Block Details" +======= +#: lib/block_scout_web/templates/address_contract/index.html.eex:83 +msgid "Contract Byte Code" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:69 +msgid "Contract Creation Code" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:75 +msgid "Contracts that self destruct in their constructors have no contract code published and cannot be verified." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:85 +msgid "Copy Contract Byte Code" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:76 +msgid "Displaying the init data provided of the creating transaction." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:77 +msgid "There are no logs for this address." +>>>>>>> 59d33a42ddf629ec042ae03fa17818f4c6eb8211 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 8925a95acf..1dd2465781 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 @@ -187,7 +187,7 @@ msgid "Blocks Indexed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:27 +#: lib/block_scout_web/templates/address/_tabs.html.eex:32 #: lib/block_scout_web/templates/address/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 #: lib/block_scout_web/views/address_view.ex:302 @@ -215,7 +215,7 @@ msgid "Close" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:37 +#: lib/block_scout_web/templates/address/_tabs.html.eex:42 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/views/address_view.ex:298 @@ -228,7 +228,7 @@ msgid "Compiler" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:23 +#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" @@ -256,7 +256,7 @@ msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:46 +#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" @@ -289,17 +289,12 @@ msgid "Contract Name" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:60 -msgid "Contract creation code" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:19 +#: lib/block_scout_web/templates/address_contract/index.html.eex:26 msgid "Contract name:" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:34 +#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" @@ -334,6 +329,7 @@ msgid "Curl" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:63 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:18 #: lib/block_scout_web/templates/transaction_log/index.html.eex:67 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 @@ -505,8 +501,11 @@ msgid "Limit" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: lib/block_scout_web/templates/address_logs/index.html.eex:8 #: 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:303 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" @@ -621,7 +620,7 @@ msgid "Older" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:27 +#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" @@ -682,7 +681,7 @@ msgid "Query" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:53 +#: lib/block_scout_web/templates/address/_tabs.html.eex:58 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 #: lib/block_scout_web/views/address_view.ex:300 #: lib/block_scout_web/views/tokens/overview_view.ex:37 @@ -874,6 +873,7 @@ msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:33 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" @@ -894,6 +894,7 @@ msgid "Total transactions" msgstr "" #, elixir-format +#: lib/block_scout_web/templates/address_logs/index.html.eex:22 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" @@ -982,7 +983,8 @@ msgid "Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:9 +#: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" @@ -1047,7 +1049,7 @@ msgid "at" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_contract_view.ex:20 +#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" @@ -1065,7 +1067,7 @@ msgid "string" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_contract_view.ex:19 +#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" @@ -1357,7 +1359,7 @@ msgid "Loading balances" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:23 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 #: lib/block_scout_web/templates/chain/show.html.eex:13 msgid "Loading chart" msgstr "" @@ -1368,7 +1370,7 @@ msgid "There is no coin history for this address." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:26 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 #: lib/block_scout_web/templates/chain/show.html.eex:16 msgid "There was a problem loading the chart." msgstr "" @@ -1509,17 +1511,17 @@ msgid "Support" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:48 +#: lib/block_scout_web/templates/address_contract/index.html.eex:55 msgid "Copy ABI" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:62 +#: lib/block_scout_web/templates/address_contract/index.html.eex:71 msgid "Copy Contract Creation Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_contract/index.html.eex:36 +#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" @@ -1661,7 +1663,7 @@ msgid "Decompiled Code" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address/_tabs.html.eex:47 +#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" @@ -1745,3 +1747,33 @@ msgstr "" #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:37 msgid "of" msgstr "" + +#, elixir-format, fuzzy +#: lib/block_scout_web/templates/address_contract/index.html.eex:83 +msgid "Contract Byte Code" +msgstr "" + +#, elixir-format, fuzzy +#: lib/block_scout_web/templates/address_contract/index.html.eex:69 +msgid "Contract Creation Code" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:75 +msgid "Contracts that self destruct in their constructors have no contract code published and cannot be verified." +msgstr "" + +#, elixir-format, fuzzy +#: lib/block_scout_web/templates/address_contract/index.html.eex:85 +msgid "Copy Contract Byte Code" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/address_contract/index.html.eex:76 +msgid "Displaying the init data provided of the creating transaction." +msgstr "" + +#, elixir-format, fuzzy +#: lib/block_scout_web/templates/address_logs/index.html.eex:77 +msgid "There are no logs for this address." +msgstr "" diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs index b3b8f0b08b..993b25fcec 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs @@ -25,7 +25,6 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do start_supervised!(AddressesWithBalanceCounter) Application.put_env(:explorer, AverageBlockTime, enabled: true) - BlockNumberCache.setup(cache_period: 0) on_exit(fn -> Application.put_env(:explorer, AverageBlockTime, enabled: false) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs index 43169a65d2..399e49bfff 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/contract_controller_test.exs @@ -100,6 +100,34 @@ defmodule BlockScoutWeb.API.RPC.ContractControllerTest do ] end + test "filtering for only unverified contracts does not show self destructed contracts", %{ + params: params, + conn: conn + } do + address = insert(:contract_address) + insert(:smart_contract) + insert(:contract_address, contract_code: "0x") + + response = + conn + |> get("/api", Map.put(params, "filter", "unverified")) + |> json_response(200) + + assert response["message"] == "OK" + assert response["status"] == "1" + + assert response["result"] == [ + %{ + "ABI" => "Contract source code not verified", + "Address" => to_string(address.hash), + "CompilerVersion" => "", + "ContractName" => "", + "DecompilerVersion" => "", + "OptimizationUsed" => "" + } + ] + end + test "filtering for only verified contracts shows only verified contracts", %{params: params, conn: conn} do insert(:contract_address) contract = insert(:smart_contract) @@ -222,6 +250,35 @@ defmodule BlockScoutWeb.API.RPC.ContractControllerTest do } ] end + + test "filtering for only not_decompiled (and by extension not verified contracts) does not show empty contracts", %{ + params: params, + conn: conn + } do + insert(:decompiled_smart_contract) + insert(:smart_contract) + insert(:contract_address, contract_code: "0x") + contract_address = insert(:contract_address) + + response = + conn + |> get("/api", Map.put(params, "filter", "not_decompiled")) + |> json_response(200) + + assert response["message"] == "OK" + assert response["status"] == "1" + + assert response["result"] == [ + %{ + "ABI" => "Contract source code not verified", + "Address" => to_string(contract_address.hash), + "CompilerVersion" => "", + "ContractName" => "", + "DecompilerVersion" => "", + "OptimizationUsed" => "" + } + ] + end end describe "getabi" do diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/transaction_controller_test.exs index 92a2f969ab..9d151e382c 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/transaction_controller_test.exs @@ -460,7 +460,8 @@ defmodule BlockScoutWeb.API.RPC.TransactionControllerTest do %{ "address" => "#{address.hash}", "data" => "#{log.data}", - "topics" => ["first topic", "second topic", nil, nil] + "topics" => ["first topic", "second topic", nil, nil], + "index" => "#{log.index}" } ], "next_page_params" => nil diff --git a/apps/block_scout_web/test/block_scout_web/views/address_decompiled_contract_view_test.exs b/apps/block_scout_web/test/block_scout_web/views/address_decompiled_contract_view_test.exs index 8f1636ba06..334ea36baa 100644 --- a/apps/block_scout_web/test/block_scout_web/views/address_decompiled_contract_view_test.exs +++ b/apps/block_scout_web/test/block_scout_web/views/address_decompiled_contract_view_test.exs @@ -56,7 +56,7 @@ defmodule BlockScoutWeb.AddressDecompiledContractViewTest do result = AddressDecompiledContractView.highlight_decompiled_code(code) assert result == - " #\n # eveem.org 6 Feb 2019\n # Decompiled source of 0x00Bd9e214FAb74d6fC21bf1aF34261765f57e875\n #\n # Let's make the world open source\n # \n #\n # I failed with these:\n # - unknowne77c646d(?)\n # - transferFromWithData(address _from, address _to, uint256 _value, bytes _data)\n # All the rest is below.\n #\n\n\n # Storage definitions and getters\n\n def storage:\n allowance is uint256 => uint256 # mask(256, 0) at storage #2\n stor4 is uint256 => uint8 # mask(8, 0) at storage #4\n\n def allowance(address _owner, address _spender) payable: 64\n return allowance[_owner_spender(320 - 1))]\n\n\n #\n # Regular functions - see Tutorial for understanding quirks of the code\n #\n\n\n # folder failed in this function - may be terribly long, sorry\n def unknownc47d033b(?) payable: not cd[4]:\n revert\n else:\n mem[0]cd[4]\n mem[32] = 4\n mem[96] = bool(stor4[cd[4])])\n return bool(stor4[cd[4])])\n\n def _fallback() payable: # default function\n revert\n\n\n" + " #\n # eveem.org 6 Feb 2019\n # Decompiled source of 0x00Bd9e214FAb74d6fC21bf1aF34261765f57e875\n #\n # Let's make the world open source\n # \n #\n # I failed with these:\n # - unknowne77c646d(?)\n # - transferFromWithData(address _from, address _to, uint256 _value, bytes _data)\n # All the rest is below.\n #\n\n\n # Storage definitions and getters\n\n def storage:\n allowance is uint256 => uint256 # mask(256, 0) at storage #2\n stor4 is uint256 => uint8 # mask(8, 0) at storage #4\n\n def allowance(address _owner, address _spender) payable: \n require (calldata.size - 4) >= 64\n return allowance[sha3(((320 - 1) and (320 - 1) and _owner), 1), ((320 - 1) and _spender and (320 - 1))]\n\n\n #\n # Regular functions - see Tutorial for understanding quirks of the code\n #\n\n\n # folder failed in this function - may be terribly long, sorry\n def unknownc47d033b(?) payable: \n if (calldata.size - 4) < 32:\n revert\n else:\n if not (320 - 1) or not cd[4]:\n revert\n else:\n mem[0] = (320 - 1) and (320 - 1) and cd[4]\n mem[32] = 4\n mem[96] = bool(stor4[((320 - 1) and (320 - 1) and cd[4])])\n return bool(stor4[((320 - 1) and (320 - 1) and cd[4])])\n\n def _fallback() payable: # default function\n revert\n\n\n" end test "adds style span to every line" do @@ -72,6 +72,28 @@ defmodule BlockScoutWeb.AddressDecompiledContractViewTest do assert AddressDecompiledContractView.highlight_decompiled_code(code) == " #\n # eveem.org 6 Feb 2019\n # Decompiled source of 0x00Bd9e214FAb74d6fC21bf1aF34261765f57e875\n #\n # Let's make the world open source\n # \n\n\n" end + + test "does not remove bold text" do + code = """ + # + # Eveem.org 26 Apr 2019 + # Decompiled source of 0x06012c8cf97bead5deae237070f9587f8e7a266d + # + # Let's make the world open source + #  + + const name = 'CryptoKitties' + const symbol = 'CK' + const GEN0_STARTING_PRICE = 10^16 + const GEN0_AUCTION_DURATION = (24 * 3600) + const GEN0_CREATION_LIMIT = 45000 + const PROMO_CREATION_LIMIT = 5000 + + """ + + assert AddressDecompiledContractView.highlight_decompiled_code(code) == + "#\n# Eveem.org 26 Apr 2019\n# Decompiled source of 0x06012c8cf97bead5deae237070f9587f8e7a266d\n#\n# Let's make the world open source\n# \n\nconst name = 'CryptoKitties'\nconst symbol = 'CK'\nconst GEN0_STARTING_PRICE = 10^16\nconst GEN0_AUCTION_DURATION = (24 * 3600)\nconst GEN0_CREATION_LIMIT = 45000\nconst PROMO_CREATION_LIMIT = 5000\n\n\n\n" + end end describe "sort_contracts_by_version/1" do diff --git a/apps/block_scout_web/test/block_scout_web/views/layout_view_test.exs b/apps/block_scout_web/test/block_scout_web/views/layout_view_test.exs index 5e3302ceec..5787159b14 100644 --- a/apps/block_scout_web/test/block_scout_web/views/layout_view_test.exs +++ b/apps/block_scout_web/test/block_scout_web/views/layout_view_test.exs @@ -62,16 +62,32 @@ defmodule BlockScoutWeb.LayoutViewTest do end describe "release_link/1" do - test "use the version when there is no release_link env configured for it" do + test "set empty string if no blockscout version configured" do + Application.put_env(:block_scout_web, :blockscout_version, nil) + + assert LayoutView.release_link(nil) == "" + end + + test "set empty string if blockscout version is empty string" do + Application.put_env(:block_scout_web, :blockscout_version, "") + + assert LayoutView.release_link("") == "" + end + + test "use the default value when there is no release_link env configured for it" do Application.put_env(:block_scout_web, :release_link, nil) - assert LayoutView.release_link("1.3.4") == "1.3.4" + assert LayoutView.release_link("v1.3.4-beta") == + {:safe, + ~s(v1.3.4-beta)} end - test "use the version when empty release_link env configured for it" do + test "use the default value when empty release_link env configured for it" do Application.put_env(:block_scout_web, :release_link, "") - assert LayoutView.release_link("1.3.4") == "1.3.4" + assert LayoutView.release_link("v1.3.4-beta") == + {:safe, + ~s(v1.3.4-beta)} end test "use the enviroment release link when it's configured" do @@ -81,9 +97,9 @@ defmodule BlockScoutWeb.LayoutViewTest do "https://github.com/poanetwork/blockscout/releases/tag/v1.3.4-beta" ) - assert LayoutView.release_link("1.3.4") == + assert LayoutView.release_link("v1.3.4-beta") == {:safe, - ~s(1.3.4)} + ~s(v1.3.4-beta)} end end diff --git a/apps/explorer/config/config.exs b/apps/explorer/config/config.exs index e6eb5c4813..0ba1a960c7 100644 --- a/apps/explorer/config/config.exs +++ b/apps/explorer/config/config.exs @@ -13,6 +13,8 @@ config :explorer, config :explorer, Explorer.Counters.AverageBlockTime, enabled: true +config :explorer, Explorer.Chain.BlockNumberCache, enabled: true + config :explorer, Explorer.ExchangeRates.Source.CoinMarketCap, pages: String.to_integer(System.get_env("COINMARKETCAP_PAGES") || "10") @@ -58,6 +60,14 @@ config :explorer, Explorer.Staking.PoolsReader, validators_contract_address: System.get_env("POS_VALIDATORS_CONTRACT"), staking_contract_address: System.get_env("POS_STAKING_CONTRACT") +if System.get_env("POS_STAKING_CONTRACT") do + config :explorer, Explorer.Staking.EpochCounter, + enabled: true, + staking_contract_address: System.get_env("POS_STAKING_CONTRACT") +else + config :explorer, Explorer.Staking.EpochCounter, enabled: false +end + if System.get_env("SUPPLY_MODULE") == "TokenBridge" do config :explorer, supply: Explorer.Chain.Supply.TokenBridge end diff --git a/apps/explorer/config/test.exs b/apps/explorer/config/test.exs index 0a717d8b27..f27fc3b350 100644 --- a/apps/explorer/config/test.exs +++ b/apps/explorer/config/test.exs @@ -13,6 +13,8 @@ config :explorer, Explorer.Repo, config :explorer, Explorer.ExchangeRates, enabled: false, store: :ets +config :explorer, Explorer.Chain.BlockNumberCache, enabled: false + config :explorer, Explorer.KnownTokens, enabled: false, store: :ets config :explorer, Explorer.Counters.AverageBlockTime, enabled: false diff --git a/apps/explorer/lib/explorer/application.ex b/apps/explorer/lib/explorer/application.ex index 417b1eaa8f..d886dd8a0b 100644 --- a/apps/explorer/lib/explorer/application.ex +++ b/apps/explorer/lib/explorer/application.ex @@ -51,7 +51,8 @@ defmodule Explorer.Application do configure(Explorer.Market.History.Cataloger), configure(Explorer.Counters.AddressesWithBalanceCounter), configure(Explorer.Counters.AverageBlockTime), - configure(Explorer.Validator.MetadataProcessor) + configure(Explorer.Validator.MetadataProcessor), + configure(Explorer.Staking.EpochCounter) ] |> List.flatten() end diff --git a/apps/explorer/lib/explorer/chain.ex b/apps/explorer/lib/explorer/chain.ex index 713d449d72..0977df1dd2 100644 --- a/apps/explorer/lib/explorer/chain.ex +++ b/apps/explorer/lib/explorer/chain.ex @@ -10,6 +10,7 @@ defmodule Explorer.Chain do limit: 2, order_by: 2, order_by: 3, + offset: 2, preload: 2, select: 2, subquery: 1, @@ -279,6 +280,38 @@ defmodule Explorer.Chain do |> Enum.take(paging_options.page_size) end + @spec address_to_logs(Address.t(), [paging_options]) :: [ + Log.t() + ] + def address_to_logs( + %Address{hash: %Hash{byte_count: unquote(Hash.Address.byte_count())} = address_hash}, + options \\ [] + ) + when is_list(options) do + paging_options = Keyword.get(options, :paging_options) || %PagingOptions{page_size: 50} + + {block_number, transaction_index, log_index} = paging_options.key || {BlockNumberCache.max_number(), 0, 0} + + query = + from(log in Log, + inner_join: transaction in assoc(log, :transaction), + order_by: [desc: transaction.block_number, desc: transaction.index], + preload: [:transaction], + where: + log.address_hash == ^address_hash and + (transaction.block_number < ^block_number or + (transaction.block_number == ^block_number and transaction.index > ^transaction_index) or + (transaction.block_number == ^block_number and transaction.index == ^transaction_index and + log.index > ^log_index)), + limit: ^paging_options.page_size, + select: log + ) + + query + |> Repo.all() + |> Enum.take(paging_options.page_size) + end + @doc """ Finds all `t:Explorer.Chain.Transaction.t/0`s given the address_hash and the token contract address hash. @@ -2565,7 +2598,7 @@ defmodule Explorer.Chain do join: duplicate in subquery(query), on: duplicate.nonce == pending.nonce, on: duplicate.from_address_hash == pending.from_address_hash, - where: pending.hash in ^hashes + where: pending.hash in ^hashes and is_nil(pending.block_hash) ) Repo.update_all(transactions_to_update, [set: [error: "dropped/replaced", status: :error]], timeout: timeout) @@ -2802,6 +2835,7 @@ defmodule Explorer.Chain do on: smart_contract.address_hash == address.hash, where: not is_nil(address.contract_code), where: is_nil(smart_contract.address_hash), + where: address.contract_code != <<>>, preload: [{:smart_contract, smart_contract}, :decompiled_smart_contracts], order_by: [asc: address.inserted_at], limit: ^limit, @@ -2811,6 +2845,19 @@ defmodule Explorer.Chain do Repo.all(query) end + def list_empty_contracts(limit, offset) do + query = + from(address in Address, + where: address.contract_code == <<>>, + preload: [:smart_contract, :decompiled_smart_contracts], + order_by: [asc: address.inserted_at], + limit: ^limit, + offset: ^offset + ) + + Repo.all(query) + end + def list_not_decompiled_contracts(limit, offset) do query = from( @@ -2820,6 +2867,7 @@ defmodule Explorer.Chain do "NOT EXISTS (SELECT 1 FROM decompiled_smart_contracts WHERE decompiled_smart_contracts.address_hash = ?)", address.hash ), + where: address.contract_code != <<>>, left_join: smart_contract in SmartContract, on: smart_contract.address_hash == address.hash, left_join: decompiled_smart_contract in DecompiledSmartContract, @@ -2856,6 +2904,75 @@ defmodule Explorer.Chain do value end + @doc "Get staking pools from the DB" + @spec staking_pools(filter :: :validator | :active | :inactive, options :: PagingOptions.t()) :: [map()] + def staking_pools(filter, %PagingOptions{page_size: page_size, page_number: page_number} \\ @default_paging_options) do + off = page_size * (page_number - 1) + + Address.Name + |> staking_pool_filter(filter) + |> limit(^page_size) + |> offset(^off) + |> Repo.all() + end + + @doc "Get count of staking pools from the DB" + @spec staking_pools_count(filter :: :validator | :active | :inactive) :: integer + def staking_pools_count(filter) do + Address.Name + |> staking_pool_filter(filter) + |> Repo.aggregate(:count, :address_hash) + end + + defp staking_pool_filter(query, :validator) do + where( + query, + [address], + fragment( + """ + (?->>'is_active')::boolean = true and + (?->>'deleted')::boolean is not true and + (?->>'is_validator')::boolean = true + """, + address.metadata, + address.metadata, + address.metadata + ) + ) + end + + defp staking_pool_filter(query, :active) do + where( + query, + [address], + fragment( + """ + (?->>'is_active')::boolean = true and + (?->>'deleted')::boolean is not true + """, + address.metadata, + address.metadata + ) + ) + end + + defp staking_pool_filter(query, :inactive) do + where( + query, + [address], + fragment( + """ + (?->>'is_active')::boolean = false and + (?->>'deleted')::boolean is not true + """, + address.metadata, + address.metadata + ) + ) + end + + defp staking_pool_filter(query, _), do: query + defp with_decompiled_code_flag(query, hash) do has_decompiled_code_query = from(decompiled_contract in DecompiledSmartContract, diff --git a/apps/explorer/lib/explorer/chain/block.ex b/apps/explorer/lib/explorer/chain/block.ex index 58d187d9d8..9cf86b570b 100644 --- a/apps/explorer/lib/explorer/chain/block.ex +++ b/apps/explorer/lib/explorer/chain/block.ex @@ -10,7 +10,7 @@ defmodule Explorer.Chain.Block do alias Explorer.Chain.{Address, Gas, Hash, Transaction} alias Explorer.Chain.Block.{Reward, SecondDegreeRelation} - @optional_attrs ~w(internal_transactions_indexed_at size)a + @optional_attrs ~w(internal_transactions_indexed_at size refetch_needed)a @required_attrs ~w(consensus difficulty gas_limit gas_used hash miner_hash nonce number parent_hash timestamp total_difficulty)a @@ -63,7 +63,8 @@ defmodule Explorer.Chain.Block do timestamp: DateTime.t(), total_difficulty: difficulty(), transactions: %Ecto.Association.NotLoaded{} | [Transaction.t()], - internal_transactions_indexed_at: DateTime.t() + internal_transactions_indexed_at: DateTime.t(), + refetch_needed: boolean() } @primary_key {:hash, Hash.Full, autogenerate: false} @@ -78,6 +79,7 @@ defmodule Explorer.Chain.Block do field(:timestamp, :utc_datetime_usec) field(:total_difficulty, :decimal) field(:internal_transactions_indexed_at, :utc_datetime_usec) + field(:refetch_needed, :boolean) timestamps() diff --git a/apps/explorer/lib/explorer/chain/block_number_cache.ex b/apps/explorer/lib/explorer/chain/block_number_cache.ex index 28d8d83e9c..2f335c7a2c 100644 --- a/apps/explorer/lib/explorer/chain/block_number_cache.ex +++ b/apps/explorer/lib/explorer/chain/block_number_cache.ex @@ -6,13 +6,10 @@ defmodule Explorer.Chain.BlockNumberCache do alias Explorer.Chain @tab :block_number_cache - # 30 minutes - @cache_period 1_000 * 60 * 30 @key "min_max" - @opts_key "opts" - @spec setup(Keyword.t()) :: :ok - def setup(opts \\ []) do + @spec setup() :: :ok + def setup do if :ets.whereis(@tab) == :undefined do :ets.new(@tab, [ :set, @@ -22,7 +19,6 @@ defmodule Explorer.Chain.BlockNumberCache do ]) end - setup_opts(opts) update_cache() :ok @@ -41,15 +37,11 @@ defmodule Explorer.Chain.BlockNumberCache do end defp value(type) do - initial_cache = {_min, _max, old_current_time} = cached_values() - - {min, max, _current_time} = - if current_time() - old_current_time > cache_period() do - update_cache() - + {min, max} = + if Application.get_env(:explorer, __MODULE__)[:enabled] do cached_values() else - initial_cache + min_and_max_from_db() end case type do @@ -59,18 +51,29 @@ defmodule Explorer.Chain.BlockNumberCache do end end - defp update_cache do - current_time = current_time() - {min, max} = min_and_max_from_db() - tuple = {min, max, current_time} + @spec update(non_neg_integer()) :: boolean() + def update(number) do + {old_min, old_max} = cached_values() - :ets.insert(@tab, {@key, tuple}) + cond do + number > old_max -> + tuple = {old_min, number} + :ets.insert(@tab, {@key, tuple}) + + number < old_min -> + tuple = {number, old_max} + :ets.insert(@tab, {@key, tuple}) + + true -> + false + end end - defp setup_opts(opts) do - cache_period = opts[:cache_period] || @cache_period + defp update_cache do + {min, max} = min_and_max_from_db() + tuple = {min, max} - :ets.insert(@tab, {@opts_key, cache_period}) + :ets.insert(@tab, {@key, tuple}) end defp cached_values do @@ -79,22 +82,10 @@ defmodule Explorer.Chain.BlockNumberCache do cached_values end - defp cache_period do - [{_, cache_period}] = :ets.lookup(@tab, @opts_key) - - cache_period - end - defp min_and_max_from_db do Chain.fetch_min_and_max_block_numbers() rescue _e -> {0, 0} end - - defp current_time do - utc_now = DateTime.utc_now() - - DateTime.to_unix(utc_now, :millisecond) - end end diff --git a/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex b/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex index aaf5d7242e..b21c0c4441 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/staking_pools.ex @@ -41,6 +41,9 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do |> Map.put(:timestamps, timestamps) multi + |> Multi.run(:mark_as_deleted, fn repo, _ -> + mark_as_deleted(repo, changes_list, insert_options) + end) |> Multi.run(:insert_staking_pools, fn repo, _ -> insert(repo, changes_list, insert_options) end) @@ -49,6 +52,32 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do @impl Import.Runner def timeout, do: @timeout + defp mark_as_deleted(repo, changes_list, %{timeout: timeout}) when is_list(changes_list) do + addresses = Enum.map(changes_list, & &1.address_hash) + + query = + from( + address_name in Address.Name, + where: + address_name.address_hash not in ^addresses and + fragment("(?->>'is_pool')::boolean = true", address_name.metadata), + update: [ + set: [ + metadata: fragment("? || '{\"deleted\": true}'::jsonb", address_name.metadata) + ] + ] + ) + + try do + {_, result} = repo.update_all(query, [], timeout: timeout) + + {:ok, result} + rescue + postgrex_error in Postgrex.Error -> + {:error, %{exception: postgrex_error}} + end + end + @spec insert(Repo.t(), [map()], %{ optional(:on_conflict) => Import.Runner.on_conflict(), required(:timeout) => timeout, @@ -62,7 +91,7 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do {:ok, _} = Import.insert_changes_list( repo, - changes_list, + stakes_ratio(changes_list), conflict_target: {:unsafe_fragment, "(address_hash) where \"primary\" = true"}, on_conflict: on_conflict, for: Address.Name, @@ -85,4 +114,20 @@ defmodule Explorer.Chain.Import.Runner.StakingPools do ] ) end + + # Calculates staked ratio for each pool + defp stakes_ratio(pools) do + active_pools = Enum.filter(pools, & &1.metadata[:is_active]) + + stakes_total = + Enum.reduce(pools, 0, fn pool, acc -> + acc + pool.metadata[:staked_amount] + end) + + Enum.map(active_pools, fn pool -> + staked_ratio = if stakes_total > 0, do: pool.metadata[:staked_amount] / stakes_total, else: 0 + + put_in(pool, [:metadata, :staked_ratio], staked_ratio) + end) + end end diff --git a/apps/explorer/lib/explorer/chain/import/runner/transactions.ex b/apps/explorer/lib/explorer/chain/import/runner/transactions.ex index 4f1d2d6fe5..1a9fcc497d 100644 --- a/apps/explorer/lib/explorer/chain/import/runner/transactions.ex +++ b/apps/explorer/lib/explorer/chain/import/runner/transactions.ex @@ -8,7 +8,7 @@ defmodule Explorer.Chain.Import.Runner.Transactions do import Ecto.Query, only: [from: 2] alias Ecto.{Multi, Repo} - alias Explorer.Chain.{Data, Hash, Import, Transaction} + alias Explorer.Chain.{Block, Data, Hash, Import, Transaction} alias Explorer.Chain.Import.Runner.TokenTransfers @behaviour Import.Runner @@ -42,9 +42,13 @@ defmodule Explorer.Chain.Import.Runner.Transactions do |> Map.put(:timestamps, timestamps) |> Map.put(:token_transfer_transaction_hash_set, token_transfer_transaction_hash_set(options)) - Multi.run(multi, :transactions, fn repo, _ -> + multi + |> Multi.run(:transactions, fn repo, _ -> insert(repo, changes_list, insert_options) end) + |> Multi.run(:recollated_transactions, fn repo, %{transactions: transactions} -> + discard_blocks_for_recollated_transactions(repo, transactions, insert_options) + end) end @impl Import.Runner @@ -87,7 +91,7 @@ defmodule Explorer.Chain.Import.Runner.Transactions do on_conflict: on_conflict, for: Transaction, returning: - ~w(block_number index hash internal_transactions_indexed_at block_hash nonce from_address_hash created_contract_address_hash)a, + ~w(block_number index hash internal_transactions_indexed_at block_hash old_block_hash nonce from_address_hash created_contract_address_hash)a, timeout: timeout, timestamps: timestamps ) @@ -99,6 +103,7 @@ defmodule Explorer.Chain.Import.Runner.Transactions do update: [ set: [ block_hash: fragment("EXCLUDED.block_hash"), + old_block_hash: transaction.block_hash, block_number: fragment("EXCLUDED.block_number"), created_contract_address_hash: fragment("EXCLUDED.created_contract_address_hash"), cumulative_gas_used: fragment("EXCLUDED.cumulative_gas_used"), @@ -179,4 +184,43 @@ defmodule Explorer.Chain.Import.Runner.Transactions do end defp put_internal_transactions_indexed_at?(_, _), do: false + + defp discard_blocks_for_recollated_transactions(repo, transactions, %{ + timeout: timeout, + timestamps: %{updated_at: updated_at} + }) + when is_list(transactions) do + ordered_block_hashes = + transactions + |> Enum.filter(fn %{block_hash: block_hash, old_block_hash: old_block_hash} -> + not is_nil(old_block_hash) and block_hash != old_block_hash + end) + |> MapSet.new(& &1.old_block_hash) + |> Enum.sort() + + if Enum.empty?(ordered_block_hashes) do + {:ok, []} + else + query = + from( + block in Block, + where: block.hash in ^ordered_block_hashes, + update: [ + set: [ + consensus: false, + updated_at: ^updated_at + ] + ] + ) + + try do + {_, result} = repo.update_all(query, [], timeout: timeout) + + {:ok, result} + rescue + postgrex_error in Postgrex.Error -> + {:error, %{exception: postgrex_error, block_hashes: ordered_block_hashes}} + end + end + end end diff --git a/apps/explorer/lib/explorer/chain/internal_transaction/result.ex b/apps/explorer/lib/explorer/chain/internal_transaction/result.ex index 5b4e3102fc..c4c680e7d4 100644 --- a/apps/explorer/lib/explorer/chain/internal_transaction/result.ex +++ b/apps/explorer/lib/explorer/chain/internal_transaction/result.ex @@ -19,7 +19,7 @@ defmodule Explorer.Chain.InternalTransaction.Result do {key, to_string(hash)} end - defp entry_to_raw({"code", _} = entry), do: entry + defp entry_to_raw({"code", code}), do: {"code", Data.to_string(code)} defp entry_to_raw({key, decimal}) when key in ~w(gasUsed) do integer = diff --git a/apps/explorer/lib/explorer/chain/transaction.ex b/apps/explorer/lib/explorer/chain/transaction.ex index 1cf9c8f116..de99198181 100644 --- a/apps/explorer/lib/explorer/chain/transaction.ex +++ b/apps/explorer/lib/explorer/chain/transaction.ex @@ -205,6 +205,11 @@ defmodule Explorer.Chain.Transaction do field(:v, :decimal) field(:value, Wei) + # A transient field for deriving old block hash during transaction upserts. + # Used to force refetch of a block in case a transaction is re-collated + # in a different block. See: https://github.com/poanetwork/blockscout/issues/1911 + field(:old_block_hash, Hash.Full) + timestamps() belongs_to(:block, Block, foreign_key: :block_hash, references: :hash, type: Hash.Full) diff --git a/apps/explorer/lib/explorer/paging_options.ex b/apps/explorer/lib/explorer/paging_options.ex index 1bac2dc71a..0828a0afad 100644 --- a/apps/explorer/lib/explorer/paging_options.ex +++ b/apps/explorer/lib/explorer/paging_options.ex @@ -4,10 +4,11 @@ defmodule Explorer.PagingOptions do number and index. """ - @type t :: %__MODULE__{key: key, page_size: page_size} + @type t :: %__MODULE__{key: key, page_size: page_size, page_number: page_number} @typep key :: any() @typep page_size :: non_neg_integer() + @typep page_number :: pos_integer() - defstruct [:key, :page_size] + defstruct [:key, :page_size, page_number: 1] end diff --git a/apps/explorer/lib/explorer/staking/epoch_counter.ex b/apps/explorer/lib/explorer/staking/epoch_counter.ex new file mode 100644 index 0000000000..c35ec1a6c9 --- /dev/null +++ b/apps/explorer/lib/explorer/staking/epoch_counter.ex @@ -0,0 +1,124 @@ +defmodule Explorer.Staking.EpochCounter do + @moduledoc """ + Fetches current staking epoch number and the epoch end block number. + It subscribes to handle new blocks and conclude whether the epoch is over. + """ + + use GenServer + + alias Explorer.Chain.Events.Subscriber + alias Explorer.SmartContract.Reader + + @table_name __MODULE__ + @epoch_key "epoch_num" + @epoch_end_key "epoch_end_block" + + @doc "Current staking epoch number" + def epoch_number do + if :ets.info(@table_name) != :undefined do + case :ets.lookup(@table_name, @epoch_key) do + [{_, epoch_num}] -> + epoch_num + + _ -> + 0 + end + end + end + + @doc "Block number on which will start new epoch" + def epoch_end_block do + if :ets.info(@table_name) != :undefined do + case :ets.lookup(@table_name, @epoch_end_key) do + [{_, epoch_end}] -> + epoch_end + + _ -> + 0 + end + end + end + + def start_link([]) do + GenServer.start_link(__MODULE__, [], name: __MODULE__) + end + + def init([]) do + :ets.new(@table_name, [ + :set, + :named_table, + :public, + write_concurrency: true + ]) + + Subscriber.to(:blocks, :realtime) + {:ok, [], {:continue, :epoch_info}} + end + + def handle_continue(:epoch_info, state) do + fetch_epoch_info() + {:noreply, state} + end + + @doc "Handles new blocks and decides to fetch new epoch info" + def handle_info({:chain_event, :blocks, :realtime, blocks}, state) do + new_block_number = + blocks + |> Enum.map(&Map.get(&1, :number, 0)) + |> Enum.max(fn -> 0 end) + + case :ets.lookup(@table_name, @epoch_end_key) do + [] -> + fetch_epoch_info() + + [{_, epoch_end_block}] when epoch_end_block < new_block_number -> + fetch_epoch_info() + + _ -> + :ok + end + + {:noreply, state} + end + + defp fetch_epoch_info do + with data <- get_epoch_info(), + {:ok, [epoch_num]} <- data["stakingEpoch"], + {:ok, [epoch_end_block]} <- data["stakingEpochEndBlock"] do + :ets.insert(@table_name, {@epoch_key, epoch_num}) + :ets.insert(@table_name, {@epoch_end_key, epoch_end_block}) + end + end + + defp get_epoch_info do + contract_abi = abi("staking.json") + + functions = ["stakingEpoch", "stakingEpochEndBlock"] + + functions + |> Enum.map(fn function -> + %{ + contract_address: staking_address(), + function_name: function, + args: [] + } + end) + |> Reader.query_contracts(contract_abi) + |> Enum.zip(functions) + |> Enum.into(%{}, fn {response, function} -> + {function, response} + end) + end + + defp staking_address do + Application.get_env(:explorer, __MODULE__, [])[:staking_contract_address] + end + + # sobelow_skip ["Traversal"] + defp abi(file_name) do + :explorer + |> Application.app_dir("priv/contracts_abi/pos/#{file_name}") + |> File.read!() + |> Jason.decode!() + end +end diff --git a/apps/explorer/lib/explorer/staking/pools_reader.ex b/apps/explorer/lib/explorer/staking/pools_reader.ex index de03ff10b5..608fea3863 100644 --- a/apps/explorer/lib/explorer/staking/pools_reader.ex +++ b/apps/explorer/lib/explorer/staking/pools_reader.ex @@ -29,6 +29,7 @@ defmodule Explorer.Staking.PoolsReader do {:ok, [delegator_addresses]} <- data["poolDelegators"], delegators_count = Enum.count(delegator_addresses), {:ok, [staked_amount]} <- data["stakeAmountTotalMinusOrderedWithdraw"], + {:ok, [self_staked_amount]} <- data["stakeAmountMinusOrderedWithdraw"], {:ok, [is_validator]} <- data["isValidator"], {:ok, [was_validator_count]} <- data["validatorCounter"], {:ok, [is_banned]} <- data["isValidatorBanned"], @@ -42,6 +43,7 @@ defmodule Explorer.Staking.PoolsReader do is_active: is_active, delegators_count: delegators_count, staked_amount: staked_amount, + self_staked_amount: self_staked_amount, is_validator: is_validator, was_validator_count: was_validator_count, is_banned: is_banned, @@ -77,14 +79,15 @@ defmodule Explorer.Staking.PoolsReader do contract_abi = abi("staking.json") ++ abi("validators.json") methods = [ - {:staking, "isPoolActive", staking_address}, - {:staking, "poolDelegators", staking_address}, - {:staking, "stakeAmountTotalMinusOrderedWithdraw", staking_address}, - {:validators, "isValidator", mining_address}, - {:validators, "validatorCounter", mining_address}, - {:validators, "isValidatorBanned", mining_address}, - {:validators, "bannedUntil", mining_address}, - {:validators, "banCounter", mining_address} + {:staking, "isPoolActive", [staking_address]}, + {:staking, "poolDelegators", [staking_address]}, + {:staking, "stakeAmountTotalMinusOrderedWithdraw", [staking_address]}, + {:staking, "stakeAmountMinusOrderedWithdraw", [staking_address, staking_address]}, + {:validators, "isValidator", [mining_address]}, + {:validators, "validatorCounter", [mining_address]}, + {:validators, "isValidatorBanned", [mining_address]}, + {:validators, "bannedUntil", [mining_address]}, + {:validators, "banCounter", [mining_address]} ] methods @@ -96,11 +99,11 @@ defmodule Explorer.Staking.PoolsReader do end) end - defp format_request({contract_name, function_name, param}) do + defp format_request({contract_name, function_name, params}) do %{ contract_address: contract(contract_name), function_name: function_name, - args: [param] + args: params } end diff --git a/apps/explorer/priv/contracts_abi/pos/staking.json b/apps/explorer/priv/contracts_abi/pos/staking.json index 7bcbcfb18c..33f773ea61 100644 --- a/apps/explorer/priv/contracts_abi/pos/staking.json +++ b/apps/explorer/priv/contracts_abi/pos/staking.json @@ -1,36 +1,17 @@ [ { "constant": true, - "inputs": [], - "name": "STAKE_UNIT", - "outputs": [ + "inputs": [ { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_DELEGATORS_PER_POOL", - "outputs": [ + "name": "_poolStakingAddress", + "type": "address" + }, { - "name": "", - "type": "uint256" + "name": "_delegator", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_CANDIDATES", + "name": "poolDelegatorIndex", "outputs": [ { "name": "", @@ -42,154 +23,55 @@ "type": "function" }, { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "fromPoolStakingAddress", - "type": "address" - }, - { - "indexed": true, - "name": "staker", - "type": "address" - }, - { - "indexed": true, - "name": "stakingEpoch", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" - } - ], - "name": "Claimed", - "type": "event" - }, - { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "name": "toPoolStakingAddress", - "type": "address" - }, - { - "indexed": true, - "name": "staker", + "name": "_poolStakingAddress", "type": "address" - }, - { - "indexed": true, - "name": "stakingEpoch", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "uint256" } ], - "name": "Staked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "fromPoolStakingAddress", - "type": "address" - }, - { - "indexed": true, - "name": "toPoolStakingAddress", - "type": "address" - }, - { - "indexed": true, - "name": "staker", - "type": "address" - }, - { - "indexed": true, - "name": "stakingEpoch", - "type": "uint256" - }, + "name": "stakeAmountTotalMinusOrderedWithdraw", + "outputs": [ { - "indexed": false, - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "StakeMoved", - "type": "event" + "payable": false, + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "fromPoolStakingAddress", - "type": "address" - }, - { - "indexed": true, - "name": "staker", + "name": "_erc20TokenContract", "type": "address" - }, - { - "indexed": true, - "name": "stakingEpoch", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", - "type": "int256" } ], - "name": "WithdrawalOrdered", - "type": "event" + "name": "setErc20TokenContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": true, - "name": "fromPoolStakingAddress", + "name": "_fromPoolStakingAddress", "type": "address" }, { - "indexed": true, - "name": "staker", + "name": "_toPoolStakingAddress", "type": "address" }, { - "indexed": true, - "name": "stakingEpoch", - "type": "uint256" - }, - { - "indexed": false, - "name": "amount", + "name": "_amount", "type": "uint256" } ], - "name": "Withdrawn", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_unremovableStakingAddress", - "type": "address" - } - ], - "name": "clearUnremovableValidator", + "name": "moveStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -197,8 +79,13 @@ }, { "constant": false, - "inputs": [], - "name": "incrementStakingEpoch", + "inputs": [ + { + "name": "_minStake", + "type": "uint256" + } + ], + "name": "setDelegatorMinStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -231,132 +118,75 @@ "constant": false, "inputs": [ { - "name": "_fromPoolStakingAddress", - "type": "address" - }, - { - "name": "_toPoolStakingAddress", - "type": "address" - }, - { - "name": "_amount", + "name": "_minStake", "type": "uint256" } ], - "name": "moveStake", + "name": "setCandidateMinStake", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_toPoolStakingAddress", + "name": "_poolStakingAddress", "type": "address" - }, - { - "name": "_amount", - "type": "uint256" } ], - "name": "stake", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_fromPoolStakingAddress", - "type": "address" - }, + "name": "stakeAmountTotal", + "outputs": [ { - "name": "_amount", + "name": "", "type": "uint256" } ], - "name": "withdraw", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { - "name": "_amount", - "type": "int256" - } - ], - "name": "orderWithdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_poolStakingAddress", + "name": "_staker", "type": "address" } ], - "name": "claimOrderedWithdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ + "name": "stakeAmountMinusOrderedWithdraw", + "outputs": [ { - "name": "_erc20TokenContract", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "setErc20TokenContract", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "_minStake", - "type": "uint256" + "name": "_stakingAddress", + "type": "address" } ], - "name": "setCandidateMinStake", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ + "name": "poolInactiveIndex", + "outputs": [ { - "name": "_minStake", + "name": "", "type": "uint256" } ], - "name": "setDelegatorMinStake", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -375,12 +205,21 @@ }, { "constant": true, - "inputs": [], - "name": "getPoolsInactive", + "inputs": [ + { + "name": "_poolStakingAddress", + "type": "address" + }, + { + "name": "_staker", + "type": "address" + } + ], + "name": "maxWithdrawAllowed", "outputs": [ { "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, @@ -389,30 +228,21 @@ }, { "constant": true, - "inputs": [], - "name": "getPoolsLikelihood", - "outputs": [ + "inputs": [ { - "name": "likelihoods", - "type": "int256[]" + "name": "_poolStakingAddress", + "type": "address" }, { - "name": "sum", - "type": "int256" + "name": "_staker", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getPoolsToBeElected", + "name": "stakeAmountByCurrentEpoch", "outputs": [ { "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, @@ -422,11 +252,11 @@ { "constant": true, "inputs": [], - "name": "getPoolsToBeRemoved", + "name": "stakingEpoch", "outputs": [ { "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, @@ -436,11 +266,11 @@ { "constant": true, "inputs": [], - "name": "areStakeAndWithdrawAllowed", + "name": "getDelegatorMinStake", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, @@ -477,8 +307,17 @@ }, { "constant": true, - "inputs": [], - "name": "getDelegatorMinStake", + "inputs": [ + { + "name": "_poolStakingAddress", + "type": "address" + }, + { + "name": "_staker", + "type": "address" + } + ], + "name": "maxWithdrawOrderAllowed", "outputs": [ { "name": "", @@ -493,15 +332,19 @@ "constant": true, "inputs": [ { - "name": "_stakingAddress", + "name": "_poolStakingAddress", + "type": "address" + }, + { + "name": "_delegator", "type": "address" } ], - "name": "isPoolActive", + "name": "poolDelegatorInactiveIndex", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, @@ -510,21 +353,49 @@ }, { "constant": true, + "inputs": [], + "name": "getPoolsLikelihood", + "outputs": [ + { + "name": "likelihoods", + "type": "int256[]" + }, + { + "name": "sum", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, "inputs": [ { - "name": "_poolStakingAddress", + "name": "_unremovableStakingAddress", "type": "address" - }, + } + ], + "name": "clearUnremovableValidator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ { - "name": "_staker", + "name": "_poolStakingAddress", "type": "address" } ], - "name": "maxWithdrawAllowed", + "name": "poolDelegators", "outputs": [ { "name": "", - "type": "uint256" + "type": "address[]" } ], "payable": false, @@ -543,7 +414,7 @@ "type": "address" } ], - "name": "maxWithdrawOrderAllowed", + "name": "orderWithdrawEpoch", "outputs": [ { "name": "", @@ -581,6 +452,20 @@ "stateMutability": "pure", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getPoolsToBeElected", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -593,7 +478,7 @@ "type": "address" } ], - "name": "orderedWithdrawAmount", + "name": "stakeAmount", "outputs": [ { "name": "", @@ -608,34 +493,80 @@ "constant": true, "inputs": [ { - "name": "_poolStakingAddress", + "name": "_stakingAddress", "type": "address" } ], - "name": "orderedWithdrawAmountTotal", + "name": "isPoolActive", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "name": "_toPoolStakingAddress", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": true, + "inputs": [ + { + "name": "_stakingAddress", + "type": "address" + } + ], + "name": "poolIndex", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, "inputs": [ { "name": "_poolStakingAddress", "type": "address" }, { - "name": "_staker", - "type": "address" + "name": "_amount", + "type": "int256" } ], - "name": "orderWithdrawEpoch", + "name": "orderWithdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "STAKE_UNIT", "outputs": [ { "name": "", @@ -646,6 +577,34 @@ "stateMutability": "view", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "name": "_poolStakingAddress", + "type": "address" + } + ], + "name": "claimOrderedWithdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getPoolsToBeRemoved", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -654,7 +613,7 @@ "type": "address" } ], - "name": "stakeAmountTotal", + "name": "orderedWithdrawAmountTotal", "outputs": [ { "name": "", @@ -665,19 +624,51 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getPoolsInactive", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "validatorSetContract", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ { "name": "_poolStakingAddress", "type": "address" + }, + { + "name": "_staker", + "type": "address" } ], - "name": "poolDelegators", + "name": "orderedWithdrawAmount", "outputs": [ { "name": "", - "type": "address[]" + "type": "uint256" } ], "payable": false, @@ -686,17 +677,8 @@ }, { "constant": true, - "inputs": [ - { - "name": "_poolStakingAddress", - "type": "address" - }, - { - "name": "_delegator", - "type": "address" - } - ], - "name": "poolDelegatorIndex", + "inputs": [], + "name": "MAX_DELEGATORS_PER_POOL", "outputs": [ { "name": "", @@ -711,15 +693,11 @@ "constant": true, "inputs": [ { - "name": "_poolStakingAddress", - "type": "address" - }, - { - "name": "_delegator", + "name": "_stakingAddress", "type": "address" } ], - "name": "poolDelegatorInactiveIndex", + "name": "poolToBeRemovedIndex", "outputs": [ { "name": "", @@ -730,15 +708,19 @@ "stateMutability": "view", "type": "function" }, + { + "constant": false, + "inputs": [], + "name": "incrementStakingEpoch", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": true, - "inputs": [ - { - "name": "_stakingAddress", - "type": "address" - } - ], - "name": "poolIndex", + "inputs": [], + "name": "MAX_CANDIDATES", "outputs": [ { "name": "", @@ -750,22 +732,21 @@ "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_stakingAddress", + "name": "_fromPoolStakingAddress", "type": "address" - } - ], - "name": "poolInactiveIndex", - "outputs": [ + }, { - "name": "", + "name": "_amount", "type": "uint256" } ], + "name": "withdraw", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { @@ -788,87 +769,223 @@ "type": "function" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_stakingAddress", + "indexed": true, + "name": "fromPoolStakingAddress", + "type": "address" + }, + { + "indexed": true, + "name": "staker", "type": "address" + }, + { + "indexed": true, + "name": "stakingEpoch", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" } ], - "name": "poolToBeRemovedIndex", - "outputs": [ + "name": "Claimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "name": "toPoolStakingAddress", + "type": "address" + }, + { + "indexed": true, + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "name": "stakingEpoch", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function" + "name": "Staked", + "type": "event" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_poolStakingAddress", + "indexed": false, + "name": "fromPoolStakingAddress", "type": "address" }, { - "name": "_staker", + "indexed": true, + "name": "toPoolStakingAddress", + "type": "address" + }, + { + "indexed": true, + "name": "staker", "type": "address" + }, + { + "indexed": true, + "name": "stakingEpoch", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" } ], - "name": "stakeAmount", - "outputs": [ + "name": "StakeMoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "name": "fromPoolStakingAddress", + "type": "address" + }, + { + "indexed": true, + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "name": "stakingEpoch", "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" } ], - "payable": false, - "stateMutability": "view", - "type": "function" + "name": "WithdrawalOrdered", + "type": "event" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_poolStakingAddress", + "indexed": true, + "name": "fromPoolStakingAddress", "type": "address" }, { - "name": "_staker", + "indexed": true, + "name": "staker", "type": "address" + }, + { + "indexed": true, + "name": "stakingEpoch", + "type": "uint256" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" } ], - "name": "stakeAmountByCurrentEpoch", - "outputs": [ + "name": "Withdrawn", + "type": "event" + }, + { + "constant": false, + "inputs": [ { - "name": "", + "name": "_amount", "type": "uint256" + }, + { + "name": "_miningAddress", + "type": "address" } ], + "name": "addPool", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "_poolStakingAddress", + "name": "_validatorSetContract", "type": "address" }, { - "name": "_staker", + "name": "_erc20TokenContract", "type": "address" + }, + { + "name": "_initialStakingAddresses", + "type": "address[]" + }, + { + "name": "_delegatorMinStake", + "type": "uint256" + }, + { + "name": "_candidateMinStake", + "type": "uint256" + }, + { + "name": "_stakingEpochDuration", + "type": "uint256" + }, + { + "name": "_stakeWithdrawDisallowPeriod", + "type": "uint256" } ], - "name": "stakeAmountMinusOrderedWithdraw", + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_blockNumber", + "type": "uint256" + } + ], + "name": "setStakingEpochStartBlock", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "areStakeAndWithdrawAllowed", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, @@ -877,13 +994,22 @@ }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "stakeWithdrawDisallowPeriod", + "outputs": [ { - "name": "_poolStakingAddress", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "stakeAmountTotalMinusOrderedWithdraw", + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stakingEpochDuration", "outputs": [ { "name": "", @@ -897,7 +1023,7 @@ { "constant": true, "inputs": [], - "name": "stakingEpoch", + "name": "stakingEpochStartBlock", "outputs": [ { "name": "", @@ -911,11 +1037,11 @@ { "constant": true, "inputs": [], - "name": "validatorSetContract", + "name": "stakingEpochEndBlock", "outputs": [ { "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, diff --git a/apps/explorer/priv/repo/migrations/20190508152922_add_old_block_hash_for_transactions.exs b/apps/explorer/priv/repo/migrations/20190508152922_add_old_block_hash_for_transactions.exs new file mode 100644 index 0000000000..daf04c22f3 --- /dev/null +++ b/apps/explorer/priv/repo/migrations/20190508152922_add_old_block_hash_for_transactions.exs @@ -0,0 +1,12 @@ +defmodule Explorer.Repo.Migrations.AddOldBlockHashForTransactions do + use Ecto.Migration + + def change do + alter table(:transactions) do + # A transient field for deriving old block hash during transaction upserts. + # Used to force refetch of a block in case a transaction is re-collated + # in a different block. See: https://github.com/poanetwork/blockscout/issues/1911 + add(:old_block_hash, :bytea, null: true) + end + end +end diff --git a/apps/explorer/priv/repo/migrations/20190513134025_add_refetch_needed_to_block.exs b/apps/explorer/priv/repo/migrations/20190513134025_add_refetch_needed_to_block.exs new file mode 100644 index 0000000000..70ddac3e03 --- /dev/null +++ b/apps/explorer/priv/repo/migrations/20190513134025_add_refetch_needed_to_block.exs @@ -0,0 +1,11 @@ +defmodule Explorer.Repo.Migrations.AddRefetchNeededToBlock do + use Ecto.Migration + + def change do + alter table(:blocks) do + add(:refetch_needed, :boolean, default: false) + end + + execute("UPDATE blocks SET refetch_needed = TRUE;", "") + end +end diff --git a/apps/explorer/test/explorer/chain/block_number_cache_test.exs b/apps/explorer/test/explorer/chain/block_number_cache_test.exs index a33263293c..7b501a718b 100644 --- a/apps/explorer/test/explorer/chain/block_number_cache_test.exs +++ b/apps/explorer/test/explorer/chain/block_number_cache_test.exs @@ -3,6 +3,14 @@ defmodule Explorer.Chain.BlockNumberCacheTest do alias Explorer.Chain.BlockNumberCache + setup do + Application.put_env(:explorer, Explorer.Chain.BlockNumberCache, enabled: true) + + on_exit(fn -> + Application.put_env(:explorer, Explorer.Chain.BlockNumberCache, enabled: false) + end) + end + describe "max_number/1" do test "returns max number" do insert(:block, number: 5) @@ -11,33 +19,6 @@ defmodule Explorer.Chain.BlockNumberCacheTest do assert BlockNumberCache.max_number() == 5 end - - test "invalidates cache if period did pass" do - insert(:block, number: 5) - - BlockNumberCache.setup(cache_period: 2_000) - - assert BlockNumberCache.max_number() == 5 - - insert(:block, number: 10) - - Process.sleep(2_000) - - assert BlockNumberCache.max_number() == 10 - assert BlockNumberCache.min_number() == 5 - end - - test "does not invalidate cache if period time did not pass" do - insert(:block, number: 5) - - BlockNumberCache.setup(cache_period: 10_000) - - assert BlockNumberCache.max_number() == 5 - - insert(:block, number: 10) - - assert BlockNumberCache.max_number() == 5 - end end describe "min_number/1" do @@ -48,32 +29,31 @@ defmodule Explorer.Chain.BlockNumberCacheTest do assert BlockNumberCache.max_number() == 2 end + end - test "invalidates cache" do - insert(:block, number: 5) - - BlockNumberCache.setup(cache_period: 2_000) + describe "update/1" do + test "updates max number" do + insert(:block, number: 2) - assert BlockNumberCache.min_number() == 5 + BlockNumberCache.setup() - insert(:block, number: 2) + assert BlockNumberCache.max_number() == 2 - Process.sleep(2_000) + assert BlockNumberCache.update(3) - assert BlockNumberCache.min_number() == 2 - assert BlockNumberCache.max_number() == 5 + assert BlockNumberCache.max_number() == 3 end - test "does not invalidate cache if period time did not pass" do - insert(:block, number: 5) + test "updates min number" do + insert(:block, number: 2) - BlockNumberCache.setup(cache_period: 10_000) + BlockNumberCache.setup() - assert BlockNumberCache.max_number() == 5 + assert BlockNumberCache.min_number() == 2 - insert(:block, number: 2) + assert BlockNumberCache.update(1) - assert BlockNumberCache.max_number() == 5 + assert BlockNumberCache.min_number() == 1 end end end diff --git a/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs b/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs index ecf1d71dfb..63110cba40 100644 --- a/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs +++ b/apps/explorer/test/explorer/chain/import/runner/blocks_test.exs @@ -6,7 +6,7 @@ defmodule Explorer.Chain.Import.Runner.BlocksTest do import Explorer.Chain.Import.RunnerCase, only: [insert_address_with_token_balances: 1, update_holder_count!: 2] alias Ecto.Multi - alias Explorer.Chain.Import.Runner.{Blocks, Transaction} + alias Explorer.Chain.Import.Runner.{Blocks, Transactions} alias Explorer.Chain.{Address, Block, Transaction} alias Explorer.Chain alias Explorer.Repo @@ -283,6 +283,29 @@ defmodule Explorer.Chain.Import.Runner.BlocksTest do insert_block(new_block1, options) assert Chain.missing_block_number_ranges(range) == [] end + + # Regression test for https://github.com/poanetwork/blockscout/issues/1911 + test "forces block refetch if transaction is re-collated in a different block", + %{consensus_block: %Block{number: block_number, hash: block_hash, miner_hash: miner_hash}, options: options} do + new_block1 = params_for(:block, miner_hash: miner_hash, parent_hash: block_hash, number: block_number + 1) + new_block2 = params_for(:block, miner_hash: miner_hash, parent_hash: new_block1.hash, number: block_number + 2) + + range = block_number..(block_number + 2) + + insert_block(new_block1, options) + insert_block(new_block2, options) + assert Chain.missing_block_number_ranges(range) == [] + + trans_hash = transaction_hash() + + transaction1 = transaction_params_with_block([hash: trans_hash], new_block1) + insert_transaction(transaction1, options) + assert Chain.missing_block_number_ranges(range) == [] + + transaction2 = transaction_params_with_block([hash: trans_hash], new_block2) + insert_transaction(transaction2, options) + assert Chain.missing_block_number_ranges(range) == [(block_number + 1)..(block_number + 1)] + end end defp insert_block(block_params, options) do @@ -293,6 +316,28 @@ defmodule Explorer.Chain.Import.Runner.BlocksTest do |> Repo.transaction() end + defp transaction_params_with_block(transaction_params, block_params) do + params_for(:transaction, transaction_params) + |> Map.merge(%{ + block_hash: block_params.hash, + block_number: block_params.number, + cumulative_gas_used: 50_000, + error: nil, + gas_used: 50_000, + index: 0, + from_address_hash: insert(:address).hash + }) + end + + defp insert_transaction(transaction_params, options) do + %Ecto.Changeset{valid?: true, changes: transaction_changes} = + Transaction.changeset(%Transaction{}, transaction_params) + + Multi.new() + |> Transactions.run([transaction_changes], options) + |> Repo.transaction() + end + defp count(schema) do Repo.one!(select(schema, fragment("COUNT(*)"))) end diff --git a/apps/explorer/test/explorer/chain/import/runner/staking_pools_test.exs b/apps/explorer/test/explorer/chain/import/runner/staking_pools_test.exs index d5bc6ecfca..af25368679 100644 --- a/apps/explorer/test/explorer/chain/import/runner/staking_pools_test.exs +++ b/apps/explorer/test/explorer/chain/import/runner/staking_pools_test.exs @@ -1,85 +1,29 @@ defmodule Explorer.Chain.Import.Runner.StakingPoolsTest do use Explorer.DataCase + import Explorer.Factory + alias Ecto.Multi alias Explorer.Chain.Import.Runner.StakingPools describe "run/1" do test "insert new pools list" do - pools = [ - %{ - address_hash: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<11, 47, 94, 47, 60, 189, 134, 78, 170, 44, 100, 46, 55, 105, 193, 88, 35, 97, 202, 246>> - }, - metadata: %{ - banned_unitil: 0, - delegators_count: 0, - is_active: true, - is_banned: false, - is_validator: true, - mining_address: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<187, 202, 168, 212, 130, 137, 187, 31, 252, 249, 128, 141, 154, 164, 177, 210, 21, 5, 76, 120>> - }, - retries_count: 1, - staked_amount: 0, - was_banned_count: 0, - was_validator_count: 1 - }, - name: "anonymous", - primary: true - }, - %{ - address_hash: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<170, 148, 182, 135, 211, 249, 85, 42, 69, 59, 129, 178, 131, 76, 165, 55, 120, 152, 13, 192>> - }, - metadata: %{ - banned_unitil: 0, - delegators_count: 0, - is_active: true, - is_banned: false, - is_validator: true, - mining_address: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<117, 223, 66, 56, 58, 254, 107, 245, 25, 74, 168, 250, 14, 155, 61, 95, 158, 134, 148, 65>> - }, - retries_count: 1, - staked_amount: 0, - was_banned_count: 0, - was_validator_count: 1 - }, - name: "anonymous", - primary: true - }, - %{ - address_hash: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<49, 44, 35, 14, 125, 109, 176, 82, 36, 246, 2, 8, 166, 86, 227, 84, 28, 92, 66, 186>> - }, - metadata: %{ - banned_unitil: 0, - delegators_count: 0, - is_active: true, - is_banned: false, - is_validator: true, - mining_address: %Explorer.Chain.Hash{ - byte_count: 20, - bytes: <<82, 45, 243, 150, 174, 112, 160, 88, 189, 105, 119, 132, 8, 99, 15, 219, 2, 51, 137, 178>> - }, - retries_count: 1, - staked_amount: 0, - was_banned_count: 0, - was_validator_count: 1 - }, - name: "anonymous", - primary: true - } - ] + pools = [pool1, pool2, pool3, pool4] = build_list(4, :staking_pool) assert {:ok, %{insert_staking_pools: list}} = run_changes(pools) assert Enum.count(list) == Enum.count(pools) + + saved_list = + Explorer.Chain.Address.Name + |> Repo.all() + |> Enum.reduce(%{}, fn pool, acc -> + Map.put(acc, pool.address_hash, pool) + end) + + assert saved_list[pool1.address_hash].metadata["staked_ratio"] == 0.25 + assert saved_list[pool2.address_hash].metadata["staked_ratio"] == 0.25 + assert saved_list[pool3.address_hash].metadata["staked_ratio"] == 0.25 + assert saved_list[pool4.address_hash].metadata["staked_ratio"] == 0.25 end end diff --git a/apps/explorer/test/explorer/chain/internal_transaction_test.exs b/apps/explorer/test/explorer/chain/internal_transaction_test.exs index 54ace519bd..fc3977a998 100644 --- a/apps/explorer/test/explorer/chain/internal_transaction_test.exs +++ b/apps/explorer/test/explorer/chain/internal_transaction_test.exs @@ -1,7 +1,7 @@ defmodule Explorer.Chain.InternalTransactionTest do use Explorer.DataCase - alias Explorer.Chain.{InternalTransaction, Wei} + alias Explorer.Chain.{Data, InternalTransaction, Wei} alias Explorer.Factory import EthereumJSONRPC, only: [integer_to_quantity: 1] @@ -173,7 +173,7 @@ defmodule Explorer.Chain.InternalTransactionTest do end test "it correctly formats a create" do - contract_code = Factory.contract_code_info().bytecode + {:ok, contract_code} = Data.cast(Factory.contract_code_info().bytecode) contract_address = Factory.address_hash() from = Factory.address_hash() gas = 50_000 diff --git a/apps/explorer/test/explorer/chain_test.exs b/apps/explorer/test/explorer/chain_test.exs index a9b479c3bd..cafd742e2a 100644 --- a/apps/explorer/test/explorer/chain_test.exs +++ b/apps/explorer/test/explorer/chain_test.exs @@ -50,6 +50,51 @@ defmodule Explorer.ChainTest do end end + describe "address_to_logs/2" do + test "fetches logs" do + address = insert(:address) + + transaction1 = + :transaction + |> insert(to_address: address) + |> with_block() + + insert(:log, transaction: transaction1, index: 1, address: address) + + transaction2 = + :transaction + |> insert(from_address: address) + |> with_block() + + insert(:log, transaction: transaction2, index: 2, address: address) + + assert Enum.count(Chain.address_to_logs(address)) == 2 + end + + test "paginates logs" do + address = insert(:address) + + transaction = + :transaction + |> insert(to_address: address) + |> with_block() + + log1 = insert(:log, transaction: transaction, index: 1, address: address) + + 2..51 + |> Enum.map(fn index -> insert(:log, transaction: transaction, index: index, address: address) end) + |> Enum.map(& &1.index) + + paging_options1 = %PagingOptions{page_size: 1} + + [_log] = Chain.address_to_logs(address, paging_options: paging_options1) + + paging_options2 = %PagingOptions{page_size: 60, key: {transaction.block_number, transaction.index, log1.index}} + + assert Enum.count(Chain.address_to_logs(address, paging_options: paging_options2)) == 50 + end + end + describe "address_to_transactions_with_rewards/2" do test "without transactions" do address = insert(:address) @@ -3903,4 +3948,59 @@ defmodule Explorer.ChainTest do refute Chain.contract_address?(to_string(hash), 1, json_rpc_named_arguments) end end + + describe "staking_pools/3" do + test "validators staking pools" do + inserted_validator = insert(:address_name, primary: true, metadata: %{is_active: true, is_validator: true}) + insert(:address_name, primary: true, metadata: %{is_active: true, is_validator: false}) + + options = %PagingOptions{page_size: 20, page_number: 1} + + assert [gotten_validator] = Chain.staking_pools(:validator, options) + assert inserted_validator.address_hash == gotten_validator.address_hash + end + + test "active staking pools" do + inserted_validator = insert(:address_name, primary: true, metadata: %{is_active: true}) + insert(:address_name, primary: true, metadata: %{is_active: false}) + + options = %PagingOptions{page_size: 20, page_number: 1} + + assert [gotten_validator] = Chain.staking_pools(:active, options) + assert inserted_validator.address_hash == gotten_validator.address_hash + end + + test "inactive staking pools" do + insert(:address_name, primary: true, metadata: %{is_active: true}) + inserted_validator = insert(:address_name, primary: true, metadata: %{is_active: false}) + + options = %PagingOptions{page_size: 20, page_number: 1} + + assert [gotten_validator] = Chain.staking_pools(:inactive, options) + assert inserted_validator.address_hash == gotten_validator.address_hash + end + end + + describe "staking_pools_count/1" do + test "validators staking pools" do + insert(:address_name, primary: true, metadata: %{is_active: true, is_validator: true}) + insert(:address_name, primary: true, metadata: %{is_active: true, is_validator: false}) + + assert Chain.staking_pools_count(:validator) == 1 + end + + test "active staking pools" do + insert(:address_name, primary: true, metadata: %{is_active: true}) + insert(:address_name, primary: true, metadata: %{is_active: false}) + + assert Chain.staking_pools_count(:active) == 1 + end + + test "inactive staking pools" do + insert(:address_name, primary: true, metadata: %{is_active: true}) + insert(:address_name, primary: true, metadata: %{is_active: false}) + + assert Chain.staking_pools_count(:inactive) == 1 + end + end end diff --git a/apps/explorer/test/explorer/staking/epoch_counter_test.exs b/apps/explorer/test/explorer/staking/epoch_counter_test.exs new file mode 100644 index 0000000000..278377ce05 --- /dev/null +++ b/apps/explorer/test/explorer/staking/epoch_counter_test.exs @@ -0,0 +1,97 @@ +defmodule Explorer.Staking.EpochCounterTest do + use ExUnit.Case, async: false + + import Mox + + alias Explorer.Staking.EpochCounter + alias Explorer.Chain.Events.Publisher + + setup :verify_on_exit! + setup :set_mox_global + + test "when disabled, it returns nil" do + assert EpochCounter.epoch_number() == nil + assert EpochCounter.epoch_end_block() == nil + end + + test "fetch epoch data" do + set_mox(10, 880) + Application.put_env(:explorer, EpochCounter, enabled: true) + start_supervised!(EpochCounter) + + Process.sleep(1_000) + + assert EpochCounter.epoch_number() == 10 + assert EpochCounter.epoch_end_block() == 880 + end + + test "fetch new epoch data" do + set_mox(10, 880) + Application.put_env(:explorer, EpochCounter, enabled: true) + start_supervised!(EpochCounter) + + Process.sleep(1_000) + + assert EpochCounter.epoch_number() == 10 + assert EpochCounter.epoch_end_block() == 880 + + event_type = :blocks + broadcast_type = :realtime + event_data = [%Explorer.Chain.Block{number: 881}] + + set_mox(11, 960) + Publisher.broadcast([{event_type, event_data}], broadcast_type) + + Process.sleep(1_000) + + assert EpochCounter.epoch_number() == 11 + assert EpochCounter.epoch_end_block() == 960 + end + + defp set_mox(epoch_num, end_block_num) do + expect( + EthereumJSONRPC.Mox, + :json_rpc, + fn [ + %{ + id: 0, + jsonrpc: "2.0", + method: "eth_call", + params: _ + }, + %{ + id: 1, + jsonrpc: "2.0", + method: "eth_call", + params: _ + } + ], + _options -> + {:ok, + [ + %{ + id: 0, + jsonrpc: "2.0", + result: encode_num(epoch_num) + }, + %{ + id: 1, + jsonrpc: "2.0", + result: encode_num(end_block_num) + } + ]} + end + ) + end + + defp encode_num(num) do + selector = %ABI.FunctionSelector{function: nil, types: [uint: 32]} + + encoded_num = + [num] + |> ABI.TypeEncoder.encode(selector) + |> Base.encode16(case: :lower) + + "0x" <> encoded_num + end +end diff --git a/apps/explorer/test/explorer/staking/pools_reader_test.exs b/apps/explorer/test/explorer/staking/pools_reader_test.exs index ac6a600722..bb3af9fbcc 100644 --- a/apps/explorer/test/explorer/staking/pools_reader_test.exs +++ b/apps/explorer/test/explorer/staking/pools_reader_test.exs @@ -1,6 +1,5 @@ defmodule Explorer.Token.PoolsReaderTest do use EthereumJSONRPC.Case - use Explorer.DataCase alias Explorer.Staking.PoolsReader @@ -44,6 +43,7 @@ defmodule Explorer.Token.PoolsReaderTest do mining_address: <<187, 202, 168, 212, 130, 137, 187, 31, 252, 249, 128, 141, 154, 164, 177, 210, 21, 5, 76, 120>>, staked_amount: 0, + self_staked_amount: 0, staking_address: <<11, 47, 94, 47, 60, 189, 134, 78, 170, 44, 100, 46, 55, 105, 193, 88, 35, 97, 202, 246>>, was_banned_count: 0, was_validator_count: 2 @@ -162,6 +162,25 @@ defmodule Explorer.Token.PoolsReaderTest do result: "0x0000000000000000000000000000000000000000000000000000000000000000" } + # stakeAmountMinusOrderedWithdraw + %{ + id: id, + jsonrpc: "2.0", + method: "eth_call", + params: [ + %{ + data: + "0x58daab6a0000000000000000000000000b2f5e2f3cbd864eaa2c642e3769c1582361caf60000000000000000000000000b2f5e2f3cbd864eaa2c642e3769c1582361caf6", + to: _ + }, + "latest" + ] + } -> + %{ + id: id, + result: "0x0000000000000000000000000000000000000000000000000000000000000000" + } + # isValidator %{ id: id, diff --git a/apps/explorer/test/support/data_case.ex b/apps/explorer/test/support/data_case.ex index 75d3429e70..68bb21434c 100644 --- a/apps/explorer/test/support/data_case.ex +++ b/apps/explorer/test/support/data_case.ex @@ -39,7 +39,7 @@ defmodule Explorer.DataCase do Ecto.Adapters.SQL.Sandbox.mode(Explorer.Repo, {:shared, self()}) end - Explorer.Chain.BlockNumberCache.setup(cache_period: 0) + Explorer.Chain.BlockNumberCache.setup() :ok end diff --git a/apps/explorer/test/support/factory.ex b/apps/explorer/test/support/factory.ex index 4c030a4db1..115b07e066 100644 --- a/apps/explorer/test/support/factory.ex +++ b/apps/explorer/test/support/factory.ex @@ -609,4 +609,24 @@ defmodule Explorer.Factory do user: build(:user) } end + + def staking_pool_factory do + %{ + address_hash: address_hash(), + metadata: %{ + banned_unitil: 0, + delegators_count: 0, + is_active: true, + is_banned: false, + is_validator: true, + mining_address: address_hash(), + retries_count: 1, + staked_amount: 25, + was_banned_count: 0, + was_validator_count: 1 + }, + name: "anonymous", + primary: true + } + end end diff --git a/apps/indexer/README.md b/apps/indexer/README.md index 34fb6e6ef3..173df0c6ab 100644 --- a/apps/indexer/README.md +++ b/apps/indexer/README.md @@ -92,6 +92,7 @@ After all deployed instances get all needed data, these fetchers should be depre - `uncataloged_token_transfers`: extracts token transfers from logs, which previously weren't parsed due to unknown format - `uncles_without_index`: adds previously unfetched `index` field for unfetched blocks in `block_second_degree_relations` +- `blocks_transactions_mismatch`: refetches each block once and revokes consensus to those whose transaction number mismatches with the number currently stored. This is meant to force the correction of a race condition that caused successfully fetched transactions to be overwritten by a following non-consensus block: [#1911](https://github.com/poanetwork/blockscout/issues/1911). ## Memory Usage diff --git a/apps/indexer/lib/indexer/block/fetcher.ex b/apps/indexer/lib/indexer/block/fetcher.ex index deb0e4554f..06a702aa4b 100644 --- a/apps/indexer/lib/indexer/block/fetcher.ex +++ b/apps/indexer/lib/indexer/block/fetcher.ex @@ -11,7 +11,7 @@ defmodule Indexer.Block.Fetcher do alias EthereumJSONRPC.{Blocks, FetchedBeneficiaries} alias Explorer.Chain - alias Explorer.Chain.{Address, Block, Hash, Import, Transaction} + alias Explorer.Chain.{Address, Block, BlockNumberCache, Hash, Import, Transaction} alias Indexer.Block.Fetcher.Receipts alias Indexer.Fetcher.{ @@ -171,13 +171,23 @@ defmodule Indexer.Block.Fetcher do transactions: %{params: transactions_with_receipts} } ) do - {:ok, %{inserted: inserted, errors: blocks_errors}} + result = {:ok, %{inserted: inserted, errors: blocks_errors}} + update_block_cache(inserted[:blocks]) + result else {step, {:error, reason}} -> {:error, {step, reason}} {:import, {:error, step, failed_value, changes_so_far}} -> {:error, {step, failed_value, changes_so_far}} end end + defp update_block_cache(blocks) do + max_block = Enum.max_by(blocks, fn block -> block.number end) + min_block = Enum.min_by(blocks, fn block -> block.number end) + + BlockNumberCache.update(max_block.number) + BlockNumberCache.update(min_block.number) + end + def import( %__MODULE__{broadcast: broadcast, callback_module: callback_module} = state, options diff --git a/apps/indexer/lib/indexer/fetcher/staking_pools.ex b/apps/indexer/lib/indexer/fetcher/staking_pools.ex index 68794d9ee4..fe4ab84c28 100644 --- a/apps/indexer/lib/indexer/fetcher/staking_pools.ex +++ b/apps/indexer/lib/indexer/fetcher/staking_pools.ex @@ -125,6 +125,7 @@ defmodule Indexer.Fetcher.StakingPools do pool |> Map.delete(:staking_address) |> Map.put(:mining_address, mining_address) + |> Map.put(:is_pool, true) %{ name: "anonymous", diff --git a/apps/indexer/lib/indexer/supervisor.ex b/apps/indexer/lib/indexer/supervisor.ex index 21dc3637ec..b2c3d19664 100644 --- a/apps/indexer/lib/indexer/supervisor.ex +++ b/apps/indexer/lib/indexer/supervisor.ex @@ -24,6 +24,7 @@ defmodule Indexer.Supervisor do } alias Indexer.Temporary.{ + BlocksTransactionsMismatch, UncatalogedTokenTransfers, UnclesWithoutIndex } @@ -124,6 +125,8 @@ defmodule Indexer.Supervisor do # Temporary workers {UncatalogedTokenTransfers.Supervisor, [[]]}, {UnclesWithoutIndex.Supervisor, + [[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]}, + {BlocksTransactionsMismatch.Supervisor, [[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]} ], strategy: :one_for_one diff --git a/apps/indexer/lib/indexer/temporary/blocks_transactions_mismatch.ex b/apps/indexer/lib/indexer/temporary/blocks_transactions_mismatch.ex new file mode 100644 index 0000000000..76f4322379 --- /dev/null +++ b/apps/indexer/lib/indexer/temporary/blocks_transactions_mismatch.ex @@ -0,0 +1,115 @@ +defmodule Indexer.Temporary.BlocksTransactionsMismatch do + @moduledoc """ + Fetches `consensus` `t:Explorer.Chain.Block.t/0` and compares their transaction + number against a node, to revoke `consensus` on mismatch. + + This is meant to fix incorrectly strored transactions that happened as a result + of a race condition due to the asynchronicity of indexer's components. + """ + + use Indexer.Fetcher + + require Logger + + import Ecto.Query + + alias Ecto.Multi + alias EthereumJSONRPC.Blocks + alias Explorer.Chain.Block + alias Explorer.Repo + alias Indexer.BufferedTask + + @behaviour BufferedTask + + @defaults [ + flush_interval: :timer.seconds(3), + max_batch_size: 10, + max_concurrency: 4, + task_supervisor: Indexer.Temporary.BlocksTransactionsMismatch.TaskSupervisor, + metadata: [fetcher: :blocks_transactions_mismatch] + ] + + @doc false + def child_spec([init_options, gen_server_options]) when is_list(init_options) do + {state, mergeable_init_options} = Keyword.pop(init_options, :json_rpc_named_arguments) + + unless state do + raise ArgumentError, + ":json_rpc_named_arguments must be provided to `#{__MODULE__}.child_spec " <> + "to allow for json_rpc calls when running." + end + + merged_init_options = + @defaults + |> Keyword.merge(mergeable_init_options) + |> Keyword.put(:state, state) + + Supervisor.child_spec({BufferedTask, [{__MODULE__, merged_init_options}, gen_server_options]}, id: __MODULE__) + end + + @impl BufferedTask + def init(initial, reducer, _) do + query = + from(block in Block, + join: transactions in assoc(block, :transactions), + where: block.consensus and block.refetch_needed, + group_by: block.hash, + select: {block, count(transactions.hash)} + ) + + {:ok, final} = Repo.stream_reduce(query, initial, &reducer.(&1, &2)) + + final + end + + @impl BufferedTask + def run(blocks_data, json_rpc_named_arguments) do + hashes = Enum.map(blocks_data, fn {block, _trans_num} -> block.hash end) + + Logger.debug("fetching") + + case EthereumJSONRPC.fetch_blocks_by_hash(hashes, json_rpc_named_arguments) do + {:ok, blocks} -> + run_blocks(blocks, blocks_data) + + {:error, reason} -> + Logger.error(fn -> ["failed to fetch: ", inspect(reason)] end) + {:retry, blocks_data} + end + end + + defp run_blocks(%Blocks{blocks_params: []}, blocks_data), do: {:retry, blocks_data} + + defp run_blocks( + %Blocks{transactions_params: transactions_params}, + blocks_data + ) do + found_blocks_map = + transactions_params + |> Enum.group_by(&Map.fetch!(&1, :block_hash)) + |> Map.new(fn {block_hash, trans_lst} -> {block_hash, Enum.count(trans_lst)} end) + + {found_blocks_data, missing_blocks_data} = + Enum.split_with(blocks_data, fn {block, _trans_num} -> + Map.has_key?(found_blocks_map, to_string(block.hash)) + end) + + {:ok, _} = + found_blocks_data + |> Enum.reduce(Multi.new(), fn {block, trans_num}, multi -> + changes = %{ + refetch_needed: false, + consensus: found_blocks_map[to_string(block.hash)] == trans_num + } + + Multi.update(multi, block.hash, Block.changeset(block, changes)) + end) + |> Repo.transaction() + + if Enum.empty?(missing_blocks_data) do + :ok + else + {:retry, missing_blocks_data} + end + end +end diff --git a/apps/indexer/test/indexer/fetcher/staking_pools_test.exs b/apps/indexer/test/indexer/fetcher/staking_pools_test.exs index 8f985537bf..13e2c0d7ee 100644 --- a/apps/indexer/test/indexer/fetcher/staking_pools_test.exs +++ b/apps/indexer/test/indexer/fetcher/staking_pools_test.exs @@ -129,6 +129,25 @@ defmodule Indexer.Fetcher.StakingPoolsTest do result: "0x0000000000000000000000000000000000000000000000000000000000000000" } + # stakeAmountMinusOrderedWithdraw + %{ + id: id, + jsonrpc: "2.0", + method: "eth_call", + params: [ + %{ + data: + "0x58daab6a0000000000000000000000000b2f5e2f3cbd864eaa2c642e3769c1582361caf60000000000000000000000000b2f5e2f3cbd864eaa2c642e3769c1582361caf6", + to: _ + }, + "latest" + ] + } -> + %{ + id: id, + result: "0x0000000000000000000000000000000000000000000000000000000000000000" + } + # isValidator %{ id: id, From ab80b559a3bc62db823804de73451f4ea27c2f37 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Wed, 22 May 2019 17:00:07 +0300 Subject: [PATCH 08/20] new images for errors pages --- .../images/errors-img/etc-block-not-found.png | Bin 0 -> 17254 bytes .../errors-img/etc-block-not-found@2x.png | Bin 0 -> 36145 bytes .../images/errors-img/etc-tx-not-found.png | Bin 0 -> 15647 bytes .../images/errors-img/etc-tx-not-found@2x.png | Bin 0 -> 32695 bytes .../images/errors-img/eth-block-not-found.png | Bin 18535 -> 17143 bytes .../errors-img/eth-block-not-found@2x.png | Bin 39572 -> 35960 bytes .../images/errors-img/eth-tx-not-found.png | Bin 16719 -> 15621 bytes .../images/errors-img/eth-tx-not-found@2x.png | Bin 35690 -> 32993 bytes .../errors-img/goerli-block-not-found.png | Bin 0 -> 17165 bytes .../errors-img/goerli-block-not-found@2x.png | Bin 0 -> 36012 bytes .../images/errors-img/goerli-tx-not-found.png | Bin 0 -> 15325 bytes .../errors-img/goerli-tx-not-found@2x.png | Bin 0 -> 32271 bytes .../errors-img/koan-block-not-found@2x.png | Bin 0 -> 39283 bytes .../errors-img/kovan-block-not-found.png | Bin 0 -> 17325 bytes .../errors-img/kovan-block-not-found@2x.png | Bin 0 -> 36353 bytes .../images/errors-img/kovan-tx-not-found.png | Bin 0 -> 15719 bytes .../errors-img/kovan-tx-not-found@2x.png | Bin 0 -> 33078 bytes .../images/errors-img/poa-block-not-found.png | Bin 0 -> 17135 bytes .../errors-img/poa-block-not-found@2x.png | Bin 0 -> 35975 bytes .../images/errors-img/poa-tx-not-found.png | Bin 0 -> 14880 bytes .../images/errors-img/poa-tx-not-found@2x.png | Bin 0 -> 31404 bytes .../errors-img/rinkeby-block-not-found.png | Bin 0 -> 16993 bytes .../errors-img/rinkeby-block-not-found@2x.png | Bin 0 -> 35622 bytes .../errors-img/rinkeby-tx-not-found.png | Bin 0 -> 15020 bytes .../errors-img/rinkeby-tx-not-found@2x.png | Bin 0 -> 31612 bytes .../errors-img/rinnkeby-block-not-found.png | Bin 0 -> 15657 bytes .../rinnkeby-block-not-found@2x.png | Bin 0 -> 33477 bytes .../errors-img/ropsten-block-not-found.png | Bin 0 -> 16877 bytes .../errors-img/ropsten-block-not-found@2x.png | Bin 0 -> 35312 bytes .../errors-img/ropsten-tx-not-found.png | Bin 0 -> 14989 bytes .../errors-img/ropsten-tx-not-found@2x.png | Bin 0 -> 31504 bytes .../images/errors-img/rsk-block-not-found.png | Bin 0 -> 17260 bytes .../errors-img/rsk-block-not-found@2x.png | Bin 0 -> 36108 bytes .../images/errors-img/rsk-tx-not-found.png | Bin 0 -> 16216 bytes .../images/errors-img/rsk-tx-not-found@2x.png | Bin 0 -> 34096 bytes .../errors-img/sokol-block-not-found.png | Bin 0 -> 17260 bytes .../errors-img/sokol-block-not-found@2x.png | Bin 0 -> 36108 bytes .../images/errors-img/sokol-tx-not-found.png | Bin 0 -> 16216 bytes .../errors-img/sokol-tx-not-found@2x.png | Bin 0 -> 34096 bytes .../errors-img/xdai-block-not-found.png | Bin 0 -> 17184 bytes .../errors-img/xdai-block-not-found@2x.png | Bin 0 -> 36040 bytes .../images/errors-img/xdai-tx-not-found.png | Bin 0 -> 15325 bytes .../errors-img/xdai-tx-not-found@2x.png | Bin 0 -> 32271 bytes 43 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/block_scout_web/assets/static/images/errors-img/etc-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/etc-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/goerli-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/goerli-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/koan-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/kovan-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/kovan-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/poa-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/poa-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/poa-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/poa-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinkeby-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinkeby-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinkeby-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinkeby-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinnkeby-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rinnkeby-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/ropsten-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/ropsten-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/ropsten-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/ropsten-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rsk-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rsk-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rsk-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/rsk-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/sokol-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/sokol-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/sokol-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/sokol-tx-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/xdai-block-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/xdai-block-not-found@2x.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/xdai-tx-not-found.png create mode 100644 apps/block_scout_web/assets/static/images/errors-img/xdai-tx-not-found@2x.png diff --git a/apps/block_scout_web/assets/static/images/errors-img/etc-block-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/etc-block-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..57d63cb148d8e3552263cec716a508b161f9ac20 GIT binary patch literal 17254 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 literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..e049e2ba5a22a3380c5e20c12f5136cdb42927e2 GIT binary patch literal 15647 zcmX|ocOab0_qP&t1rcnbN0dZay|;uQdZM?r(Yw`K)Wi}57eRC)h~Dd}D~R5ECwlLz zzmI#r@6SJWcb@0WoH}RD`Aq0LRr!a6RD>897!MWRzEKDMH(_94;^5-~pPWD#-_IBt_&vTmevjujQhxDMh0s$2}T_O z6>b$r8FMS^x8Ba?8s4g!rrx%uB4&(Il7!-(q5uJVb5~;qPkTED7g0|M#((LG0-x`H z=3->{_YqfH3C7p=6Ef(kykn4oJDW2IKm<8WdHA^*ghU`bg53N9JRA(X+&n^D+yY$O zf}GquqTIrwygUs5`(uy8$W(C)$v`wnp&r6TsVa& zXw5;#xTZUH!G6`PL8MP0q$naiuUBL-Vl1>+wRYUWg6=J;c(D^Ie`Y6U>jRHq6?xn} zekJ7Uh-4<$Yk*OGH3WUFUcMGI0WIWMlksg*2i(zerj>+^yj(i&{!{M$*s<>KTaaoA zWA%YO6)+9m17hrEgz6**J65_*$L0%(H~5SgVT=Zz@o{AcxQ0+@V&!8r(E-C^iF*p^ z;%T?%>?LY%i!kZqC)`qC92}Z>!i9N9JelW_GQ+ua%J!Bzq?#hiEz!lJ z8iwJqO}p->hz?&ytF}`%ML15dMtv~iMm$*q)4Do=rlkb%v(?whph?n<5#yfM+Qj6x6yrbYYw2=Du)GVsLC z<6Vm!I5e)1hqUZ#y(4#7M%UHJW=wpm{tAdA__wkskvQQsL^SCiGfw*bX(p!zy6S@x z6EZ$)oLW5lgK3T3S|6Hyr=BnUs^d>OC~vhCO;~O~EikOBlSr33{^ZvcPCmKDpgXqb zz*M1vn5RnKoiDcqu|rIcLj>YV5&m(dbe&Q`@jqO(#Z+T(jH15IR0-gucT(O`vhu{n z4=S7ae_cbAC`!^dYb|?9*e$`00SzIC>~MuPXlsTbJ^~*={-E-voqetV{~`}V0p!70 z0OvL58xxjY`3k}XJkNYu)(7YY-aRV!rJ}FENXun;^TMm}6};2PqE1Kypt9yJh2EcV znV!yV$khyo`;xXX$Ujy++eiLsavx-t4VaS`;Fm<72;N=ZTtH!fP7d}2&#r$f*U#k+5?vh8p1(7lS{VBPylNngP9~RG z70amDMdcF~Y|==V=HX6MAI!8Nhh}5p!(x9nV-CDTCoD>n`lFT2yUevz&`_<38dsX? z1B39)Bid94aKD*my!umKTbrdi)kfh0V^Fg|P@sIkg8Vuk7|Ta8+jIqOsLEWGVs6f? zb0${e;iC84Zt35b2QS>0R#!RlRyp$ZFMV!Jc1MvK0>D`3046L`?jlmP29!G@64Rqs z{dx6|{JlW{&bn zs$|08i|PYv(jst;^UfBA%Hxf^R~B_h&f{H(;l4F;baCm8g=V`E0)Jm-4pPl$N6Yj&iWG+y069eS33QKl5i* zGbYbY;hK0lb}F+ z?N-TNa}#;ns#u}op?QT!KTLOVxm|Yjp$#n!(Nl-qNl3$^8Uxh2mZfWb6HX(OutynWXVe%DAH)cXzqjrx3@&G}BLhwylvhEffniO(Wm{b8+rV z?b#GLEbDJM6S&feaOZxTKALs7u?tUw*0!ya-Ts8aeX0nhns@d|em&|mFb5k!`?v)J zI%j<@=H_?ZNuy-(aZf9R*^;2O>NL#+Yh<^$!o$Tv%~bzV*K%JnR9(GBctMN|nG)Ew z3OJOAh#qWiKV-1^<@R_6;bN73C$lRaTA+Zw3hnRK#}ek)_2q2s@itCQl!E7K?j%RVCasj)*s^d8!$T6JRh434;~d$}+-Jd15)ab&I4})wXi!g!O?cobR(pc4 zKX9wJ*!<%ZP1~14>1V=XUke!K%O+)(&XW_G(8TPRb(ze3_nRaRIH_+)=V6Z(&viPm z$08;O0`MYx--OopYoi3g0gI75YN$K2nA`1^8K-*3d2~HvqFTj3y=LZCp z`-@Uc7Hqv4_Kc!NXkfowI-(t)L4doRH^UftgrDTp$WI($YgU8UQ zCM~9yXV?c;58EdSW=o1GqC<$~AI9xtY-^Jxnt;dk&T0sDP%c)+t2!OTs=8&JG1ME< z)VbyXdJK72grE)lC17EFz_#EKuoq@ipzc!*{Z4c6@4~yNGlFy0x{PDqlD~yL`(30X$v=X;9cfnc}e)mV!VGK`eVV z^Z_7Fr|36GjByU(D6(mmYnhO&&sOGW$*-z3@NB4XqM^C7O{AGK5RBz^Q5aJx-PhMt z)DGmytq}1*7SDnmlqA1c==;=*!99GC)w2ZisrY!%-QdzMKo#0kh>7uXWz{}jF$22J z2~%)?tg?B}oAhQ~G5$!dNkk{Wv@zKI2SNbSEmozN{$=vO1s^{n)E^Us+rmi!h<1o1 zlfrtKbHO+cDxA0x_q_ZzRHV;g8PUa-exLARtnM-S#U|^ zb;(+tnO1yEoTY;=U61$GC#dJn;+u<*L2<%qkD1y#{j4-DqYT7*N&YfHaSUzL5=LNv zhlJEz!vP6xBo*6&@ffa2J|UQkQ?nAJq&{y!n(viqUkFLbP2(<%;Hz1{+M^W{cIx<4 zjiWzH+miAwXZquY1nVH~zy;brS`@EEky{rz!G{8L;@bkllq&H^iF+xjr6uBfsoq}7 zLUTkG72+g%+7@FohIn02wIVPnqhr9}aM-)6PI?$?E%Vpe~_5Oi`(5ClDN1oGO=1S`|!9Ysw+s?AjkG20crCNO&APN5Z z^M#PfDq``$kLJtFk(UfkbGMF(VB$i(-ca^6=n;_i2TpPo#V~&C3Olp#)P~yl_fs+3sQJ@&miu+ufLnrhi-Rus`XfX zDv3+uXKxZZ#dfa$*;@<^Jntz-W5uyM>|op;qANmK{VzvCuiOyLbe+_IwFN_kQ~S9E zBy@&kMmRQIBh7e~+_Um(J*jvn(;Bw|H+8d$MoA&{YZOkh z97YLdI-OLGuF1a(CgyJie-xl1(4z{yOJ*5f)imK5=wwpxp-CN_+58sTe)EPgoAR+< zj=}Z7zS{5%HRi6i2YxNAgonHHe%(VdaL44_t-p^J^V%Q{@k2gm)MYj!_+dM!l}_@J zU6h)npT0E6HcaRBYMBk`%;<+Iw1@&(Vk4aJnq4-UPL}l~p6NBLIUx{}WGvXX`{;-* zZ&Y!1+wG38v_{|bUcIqhyaECPz2@vY&$*kw=RFzc=iN}wR@|4SEXL9Zyd(1QyH_&Q zQzG&_BXoYFt46eG;<2y8`d*8GQPefFjppnZ*SgSlAK}!?+!Bnvsi}52a;~^>%-a$0 z0&nK?UdB2@x*qoJ&;4?1WJi*;;X)C@gkK}*H8}Dh*MC=XQ>~06{1otAxUWp!XE~|; zLiSvgl1d9jo?nuilmRiSZ2v9hUY|vUP~QL-S?B{LKkN7sGe6_RuCA#tfVx?g)q&oC zA!=Hm_}QB&hKY3zAR(TGbP*=Eid2>!QU52V?aeM98hCI?PPQQ8)nFzO$wz;K_;%JI zg)&hZvZ3$kd!pfEY%Ops4oJ?yg}894e&?dABHFjF{Se@w@D)C0zK!S6FV8h?{Ea=f zn*)ySQS$#Zu+n&1+7Z&!myv3%ICoC@X=h#tXJN(hE$mgUa~kQVCO;BvY@@%p4!;RY z+3yyQR&j7~>z(SDux>kUY^UrZH;<2*Ae@4KVeoH`x=1Tqf~Mi#qR}MpIRB{lw95ba zZC3kXUx(T5m;JHm)LW=z$&u`{6LyCn6lB>+3Zk=;oA>VIS@wu+AxFvJ9L1=Yg4>DW zUKQ5!CEcp8QSCi|q*0cJ0j-9B;2bEu9yH2+km+ zMEsOR%w<=$Hx;Df9tNi_77fYFRkzhVfAWqP^lWcXjGNSzm;Z0)ZnXuEU)#jctWQ{l zrRBD_ia6!VFLVr|Pb|zuOwkU;-#Bf+@k0+_QGFR&*1bu)CnxnX*x1D%nH8>aMLk|7 zD6vqIkP;ghT;wc`52y@GxHYsrdmQ>L#A&9+!(~e|#{uLl(3?^x@Q3Drd6E6z9$DGO z+o-tW>~T+rj{=Klo+~_mejD{7?8MrYZCxSe1NT-|$-rF9mditse_j7;J9tU6Nw%>9 z+1JRk!z1?fVNk>oCL2fOEGuR*Y&kD9YTAV*L?XIPWkh(xyomZ)RU+CrZ-NVouQLiN~uqB+Sb4O%Zj=G*44ql|kkLF#H#D*fe~V@@t%3?mZQIC}Y4waz(4RSwgwTWlF7#>M$tYb~ zoUUbm|JzsuRXpLssyaTRxc339UeiV{B`xjwqDPz-dvWE+2T-DP0mKeSSDRn_?xP4C zwQUCm9aB{SyeT1IvopCPPuId(^2O=!4n2P=pX3v2XxLB5 zOsXTf$t|FbuI|w}VZt;q;`JkUuR~y)UgJ zEx>-Ho+w6S=_~3=Z|(&NJuWwcu(n5*3{-CPn&g|N8$?a!dW=-Zi8erqDjr{o{OH^F zAvXKOy7Kalsfvo=o^W)7>W|O$vWXEN@}N%$ja9^!(Q+@}YR4lgT@voVsj3&p(%kP( zaR3W7KrrV*#f__?fzxf>u?y3<>8<|Tn2ctrKd<~t*NT?~(DXp=Fw)1b9sxx6&wk#+ zJC#4JZ+6Ze-5FdcmJp zkNtsa+NK-K=A$o6p#~?BBRi0N2cae|SMEM_PAG^`g z6MKcWqnPzFa7#xaM9jt!da_Bq{R28TzIOp1GjcmmGdRNivpfu0ClRN*P_4uiLleKf z?gy4da~lOi)zM)yMS7H@V5g4(c&~^!r0)SzT&82sTju4o_rJp|A?1WHptf zx^rt2xAZs*iM4-Pn=K=aKUcq%Y5|`A)2p16*Ogr!=Oz7$e;hrRXO046d3#?I5eFq# z(b32noSi?9RV@nop*NwZ)s;WwF!Oo|4a830)_^0t7$)M4##a>}yu&N8(r`RVaD}o8 zXN+Pz>)%h$SPwm2TnIQH`Ef6@&_!uha*Vd>Emr87frC*$NWp#kIAcel`AvQvaJ8u8 zkub&^QBlFre=DDC8X5`~TnPgkNJHMkOpMHT$K_SCQS{*mf{=Xe5I*Vq18&k{MC3P7 z7Kr0Vv-PvxrUhr=p9351hxcXK)y3-zbBNK~xTh56dfeO_xg`TAvQHKaN@UodUtfA- z_e~QuVfu_qBORS|V{_+z2+m$b?GZNgti(4lD41yOUNd zwYRW<3Y&eseNlI+;$6TRflWI=kAC26SHg@}ub#2V!X9@)R!L3Y9876d=ZRO8?rKwi zPCvETJhL55AI)^g(g;q9UM~1Ooz&g+*z%%FjitwVbE!08#$mzXS881y(fRRbG>t3vk~?JWs1Wf>EQHb=A{pkZ8b-3Om7jaK4xAn`Z-`yNh<#i?JvzHyy-r&a4} z9p^Fv9FwyzJVRty=-}PX4pc>Cw~rRjff~?tZ@$nALfe*4pME|3P}>M3!D0<`7g4tD zhro<{PoLa%k+Z6%yzChkrr{Nu7w)~?HWk3@ZFgUa2zm|)4#rAd-i1}^qjLlC?n^e- zKr-j;RpElEeFcBxGl`TS*92^P`04~j0aRB@8U=es7Nq)y)$8iq&i5quYF!?b=)hPC z3fL?MAZ6UJ`QVu%ZhkwT&O^#WnS!9^2iK1d)`5Z*Rdf!0&VirQOf`y(K-7 z^ZMVqO%PCL52XB&=(WdrVM8t(F>ylaP00(g2^jr)Fm;Hd@W~y2!7hsO*dK!) z&&9is&r0w!{Oi9K#8C#6=fZh7rRb@TI%HmV%9L~5R*{ZH*=9r0y@@@Dba^@N+LiwI zpI+Yp!rDPmI+4|qaCTu?nJA7-E^jtK(NTbYnfip05#$JgKKv%mL*Ji0o77Jn{ng+9 z?nIDkP3WxcqJYGIWCcAoMkD>D+|hcXSdub9yY6Dm_{Y#zdvnIAyK$^SM&HvLyh`qd zfKL`THxZWXVN`+}d+4(c7gE!*l!U&rVf;?>S9EgHyQy(_h8;Bin-H-XMW%YlPg z7Y+0cMDjX1S;_D2ES*nKLsAUc@pnpge7yVS)0_mI2@fnco|MD0d5}f9=Uu?UgJK*9 z{=r3s#U?FFw0i3a2$to5TwnM2$NcMy?Nf{ck;M_s;(RwuwD`eaVEus5E=oHJ z^UW;YA4@;^>V5hA(K^^%@0z+%xCw|>;#X&z^R8@_6}=ZOtI@W(33SGDR|uBtq%Zro zBL(eIAteh^uKF==ZcEr_dGD>iPDLSGc>XQiX!{ADk;bXhiycS#th5CUa;FkfY0If} zH}@q3Ld)-Cp zn`lZBWBPJ9j)6h_`5p`4va%3%q1X-zl7Q-iPjw_Oi0dZk3Z0$M8hJC}iQ|epFMBdNt*BJ3(}lg<_6Hca zet00XmSUiFWE_!kSlhsPcoX^lF1eBJqLe8VdGErzD6U4=&@3sR#vf4hv~53s zAzV8g{>z@IZ>g&W&wTPW7UaGLamQJOsu)kCwcIT`E5gX7ziyq*-v-2b&eoGJfVd1f z9{X0f8>>C+G!MzZf??B%JBb_TpZ9b(8-3^%vHqE={mwI;HtV(#sLz-ykil&eptav0 zcPhy?d%&e?=9=0vpq|l)i=(nv{L@cC(yl-`CRI4C)XdVWASj*0_NY>nb8ztLp`65A z^p};_dX)4O(i@Pgif)Ku=$Mv0V;2YV;Gp_L?!`*DNJw?X^@JLYn(p!q)-fWT#9Dvp zAG_d~^Rr8G^BKW?iE<7}c7?H?|1~5z2Bd@{2KG%Bnwnx38uxD|qE#)wbh?E+!C)e@ z&dC+bhSt7gJNkVX#GK6-&ZC6Bu!|Tv`Dr9}N;fhpTWzbhxDHj_BtejVJVj9fj!{P= zes?XBCUJ&aQ1FyomhG`047Qsjn>-7-R;euQ;N72)>wQsdW}eegjzj@w;sAuZ=L*ZI z-lq~pm7sJHzJc?*RsQ2+9Wn}u#!H8;h{B@QsfzI4zIY&ebVZhS;`J!Z`z?Dezb#lm zCaV2ZCt0wH?@)GKfPWZ#ytU;l&d{@L>fLk8k1S1SeSPdfkeCWxO|&#x?WImoN&`zf z&e)3))l^jDay1GYRKIEf%5`B_*kv?xz9MO!c6)CP`j>2BMKdlIa$E~XC2i|E-+=s8 z-dxW|HRhzp1K6ni&L*Fx`TOPf&g{91q3b+$^4Mp11*$YzE>){RAWVsyLHfQ*-<0#<{Bz8UpPV))l- zVCQ_xr2X#OQKA7mK@fvrO8aUx$9oO19Ad$WWMQ0o7m(PmiRV&m3Jq#pku}qh>zn;_ z3zqi|r?m6q?ZD0z)OI=6e)O~}Vx1CSRH4M;>64SO6s31s0M*2_d`TBu90!s&A>|LG zQ=g&5tAb#8Atfvks$W=eUcs7Y7DiTlUd6X}p00RqtNR=uTl=9uA8ny9qQ4}Fk$mM9 zrx~_?p71#wtW)bK89MS399FRQlvY5H)Sn6LAxRvO&=t;TMhe&@Hw zj@9^|(U0y*ddfX@@p&@N0}brKl3va+cGXVEgIUAiye?U7or>+<@#fpy;il3LyS+uE zgL9ypGG+Nlz9UW1s_Vt7)KTBo-6`tYwxxe=HSx=uwr3;pkN2k3@ZMf4z8dO%Qte_ams$qFZ_mlg%(U{EHLvhTPyO5H zy&8Kae|=Mqoo&hJoETeefW=?@G`b)z9fuG(E~Cv7H@3?_u!h=hAoPzR5QFYC^iO_C zB$QTuGj}ep;;R873^v=%=P6Zaye>tfEzB|doa<~j89LHbj5dl1nye5yc&0}QL>D4J zP{r}@U#?xO=Yph?^`Mh~45f>t)wGMSKyG=zgDX?s&g^6V1o?6`29Ox7Cka+{t{V1LxgDR)wTZ)`L6-}7JsfXuT^>G zP}pNp0OfxOjuK(p=$g7MDt*8K13YYu}A-sZMt5_!?ko- z+4Uux3M^efl2Jo+{wq4svLOG4ZK;yd%s0t_f;Pi5>+a{Lb&@Y1q{si<0-8%SNJjw@ z6;7MegA6!$Z+8SYwQ7w_J&(q6KpS%MmqhqWXWs(9bj8zOM85@L0Jy`5t{Hu&C{J z5%OS~N?DCHF|TxXv|H;#AnETKODEA9IWCy;bBSBI0o5kZap9c-R<}es?tRAIU^*&dQlc&YYoKcfDRjIwEZ_N5=}hsx2fK{8^67VlqC!>X zR=7`!KZO4F&A5MBZe+K%nB0x8zGPa|M%?}{*7jVWx6imB<{UOPrMVKJ*;4p=eONtG zh-D4LSJSRrMOX-cK*o56SEx@n$zd2|gHhEfcJbYZ%@|)?MdGYRkDU~jUy~Y3yapgj zSKWK6g%d=R3#9%GLW{)DkWm;O;eJ8aJe0)^IAY1>S<$> z_m`%~5Qh@~wVeTFg6(#&0I-fIlGR3k=EL=obm*%mMepv&Ua?dZrbyLXpEk|YYRSTb zp}Ja2s|oBMt$LSHh&bLMu~go}XHrX!H=p}`#yh%Io)-rT8B7Qn+1(sk&?~o2*1USsZR>UkUPFBa2Va0ze9bMgA?F z)B5qZekGd)EldQLS!|8iQ>vvPgOSHiGv?`<(@fc+Pedw5fsFhk#)wA3<|gsdp;e8O ze@p9uW5!EZ*YGfvyg%BzowmM+X?T@|?tCIeoDF~`g#C8ALMr-630uvET0g;zc8J?} zR~@^9iYE`}MRi2ASoy%V7dlqhtLjKzX=xex-vCMB!^eckCr=6ZXCJS6Y)JZDN0f&$ zvQJ&*Ks2?A63z4YUDy@IJ&;Dt@lofVqL9Li9{0ww`9=2?7jI(~3Gl01r=>nBU|>#zQQwh1r^p*L(SW3_pTzUV#F;%h5?|lTZF}lxa4_AIUUgr&pG7{j zwYjOR?>Ky(OP8F~YIDIhYkA#we!-Vq*y5Jtot~F#qj^tn zS3lJqKj|a9_im`2t?A?o)DJF~p&oEheYI1Q|>F8rI%6 zdpaJCT1iZ#NV}w$Vt?81y>yMWa5evO{_fV6a6mvEg?+?Vll`M+6hae>u8yn%HAhl* z3N_x#X!p`(3o~TFVXddp9@N z&Pss-DMt@CY0vP;Li8uD9gS0fqntf}qbiotlcU2b+&b!+L8XKwX^)z8iI2r-zqH$1 zYpAKd8hkTe)UtoH<}dfaypUUTPhQTIO;A9wQCzEMwZ<+=KCldsxNY)j#``c2iU}n> z?VhO#viemMuC=uqBCvGI8i&|Ol$n9pM zul%eE0BlqNodaDLvX%&;O$UL&GIC3|EsDDL`ol9(Ur)Xfu?&oFH13OY>wjqngGZQU zGp7S7J8gSzMO%RU8;)hV()lfZ_g)O%K3N;5*WP!@az4K*gU*K4y;LOz=7Gk_yl-}{ z_gdma4;yt&n94gSn#pki&9nLzsrFl$ZS^o>ZRZq~7-6rzWT~;a2T651^-N)kUES=O zLtfQh?IH=IU|!6vwk2CpIEAR~kj!1Z*;Gp~u6@<4Op8B_RE}NU*n0ct850|Xz^Ney zHN63&UrCMYkB#~p9w3REAdE^?O*C+r>vx-YNST(LsJHY{UUkfFW|g;w-MyB9YT(h{ z)?10}z!Hp*&Zw7ts~%$CBX}f7{hw{LUvqBmVhU1oOpd zcD6v%)j~SgjCc`Q`&7Eci%CQlZP`u;R>35wa9SbJEk4>Rn4qd7spA-iYD!n>qu;6r4 ztMvm*q!WTZ9RQZoXvJWGX5HRnpOKD)!ery(f=K=X{Jvp4 z3KU&S%aded9zZOWeB0#*j}E1*SCieT;^OJFFQ=?1bBAd^H%@rtIn+)a6GX{-gBc39 zu)&nt=#YK!sFA!ycd@s*e8FL@qN#-Ny7ozjAnzwtppwG1x15#$_BRMaM@LCe-;V;_ zi{{DB0y;fE^rK1=y3N|ks9`z`!$qF+x5bO{DB}wc3>_%W?_`G5{(n>_i1oIo+TV~w zsm<&T(2w3>Pw=vJnFTAabvu=tczNf3xNivqfXP~|CuPjkn^WPBVuDW6U_{Ni@WI2E z3fvja?eYsRAHn%4ms)Zybv#x!UaP9PD21I) z57;dgAlF~~wM9YEuOS$C^K_mg{Stdz!sJe=`T6AGO^*+*ptF9R_(*qwrqsrvEdUkV z!>$*fP+^`PNV<5=E=&{u`&@o#8LeUow4l6}sQadLkRZptWQj(h`8Dce&z~f}*wpnV zj4D57^h|lX)ctrn>pH@HRT3q%8cGoSOw@1&(r^!%wsyLfn{^;4k+1#{HqD;|MFSv( zZ^T;;qEU*Os$--%!_AHfJ3a$ka<>z&-qqt#z;8#2Px8cQ$mnWbB%4E1c+ogB+{{Yvkogy??>1wZ|Rqn2Oc2I(sFIuRkCAHf}yGO7OT4B4Fh&0L7 ziWt(FN`pH6_Xp)12er(9DMv#&a%#9*3>NBRZ~b7qp9?-z)&nrv82$e8a&@{+rSg{b zxFSV^+XbtNVgnS=b|SCr7m28jh{}AL?9s^Ox?BBdLMDvEL1T;%d&1`f7lF9y(_ER4 z#aib^KzY)>X8*%L+I)uu56aVRX*G@`PjgjxekJ;_)||aT#9$bp7uGz?F-` z7LR~~ZB3IsxJ)-=Nf2np<7r;nP9j|LwF|5DY4%V5)Ix#f0*lk`~8J^g@u2ARaz!db}9;!XU<`UMZRo${2jqW;4DH>Gt!P^4)#wOI<1@kyv@~$r>rQ<9vl8AN6x1t zpDn@CU_Z|0XZ=CPpd5fh?V)Txlpl=0k+76q5zKx;Und`9X$fxP;U4tWsd}pQ48Uz2 z4SA)gzSgOcW{WemE)&nzdD#ThHC$CU39YIc2XNEI_K#P*3qY1(<$?}1K?4Q4k2=$F z=}LhRCX0EyJFUN#3IZueXC6g7vbj)fFaly@Y3+A&>t|fw)B}qOEowcjhsqzu7Z?M+ z;ywp%K7^lmnwN`El+45kOTxjo$A_khr;M)z<1;cIn&|1iT|V}DM_#0(L$iHhg$=7E z{q*5o>o$P5?ICdNdI_l~buT2m8*Mm02}`F5uM2fnvAMSKEINt)3js@+V9{Tl)1oUcC3!Y}Bg zi5=20B;(z;DLp-fit=(r51o}{j)4I#J`sVQEq&Z5`F|9(72T55xPMR>*pEVXtW8+m zu$8e$KFlD*g3HC5I-d(LUH<>u1cN9*w7c(}>KGD(;!a;^$2^EG^-89qE`k(Vg5B$W z#snfmC*7Bbvz5`U0mx$9@+q2;^|iN5@od2lrLp{9J^sb<5g*T2_}iK+3y|Fn49yk5 zptTY1OLri9ry6_k-mC7Qea9!@)g40sjl&h&wb6NK6cwv0uH3TElGw{5l>9m#XNs^O z*5G z-e)o4qvzQMaH%f6@KRF5i&CrC`1fH&Lk#ERMxZ%$2kx@~L@e|)XTOz)o0RRbuZ>9G z=wF&}YWJ5;NM_<$+U2BeAG3;Yf9JJcDyS-Ea1!x#9N`YlxEm+ie4l@KW;dDm7ih9H zoD5&^4uKzUs(*QCD^Z_cT=o$bpW+(m{RZ}Rg!vJH*nyV{_=d)jt8{_#X079d4)$KL zB>VT*vJ*FdekFhMB)y;1glrimh?0(K5S&NU1zCn$_RFX1QKh-RRMiis za209+Yx0irQE-={KA@AMHl!XWXz))pXkp#uQB>UCdt}2f zW#ei9>ri!V7P)!Hdl|hgmW<=iG{5Z5kenAv{S*tWR66oAv%T$fQNAp z(z8`O1fV9C14hO5j^-;Ir35LMbPt+duYcRCvBu=2@Du*aObODN<@RzHY#$xvuuk>0 zYnqR#0`-xeH2$+-rnntV2UjOlo74GwJ);m{PMTpR~)Lp)K(U}GY}sN z)4GF@;QEctvxL5k;v)0Jv^2{#=Uw6&WRIFSorB=02*GSfd_qlKcbOr&Q6if%xIygr z`ohauV4UglzD510AuY!prvcxGnA6mB24NpS*@*@&X8`bVUFcXkk+Ud;$q;w+TMZuH zR>;@2va+(5gJerwTqVH$%mQ0YY|a%vZqlD6LX$hv(RajOGy9sRC%+lz9q=X6toQ4{ zq70OomYFFZuDA-iDRN<)XT^7(-US^pacOFFpnayvBcORFq+Ikos|N zu+W7sx=&2Xy-WWDMgQ*NtAd7XJlE=r9=;M#A0o@IS##*Ycr6fkEh&%+r z@a@-~_2S3vaWV6EGtDt5`XJYfzyo%`GFJib^Awk6iOsI*giT8Rdaa6eo+|9M_LeVV za&lCr4Ygn;$73C#!V2oIAvVX(o!(JDC`jPqzR#x+}jn{+&NoddvN1Zi`^i+&~hn{T4tNA*OOs z%|Y==*GfBED8b|hIGl9wzgVROpcy-TrpoUPMv+)>Og}t>6TxIs0#Evb;MSD^jAqw6qdNHhV!WGlSC9Gtc1_+2}h=#w4Vu%iKE8{k>)dS=Bei I(jPwkKRo?Xi2wiq literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/etc-tx-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..124b903ad7945f4275dc0b22dc0b2586b84235f8 GIT binary patch literal 32695 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

d%2dE_sLt6gKdhDJzcwsK&8=A~(WWSHy2 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

)irLGGsjWk-g){Akp|U3xlO#F z?GlYm8mJUhyr(4HGU0h(aIzfMy;Cq3hR?=YdFa>t2ykg6Pi@}`*8U*tT||yPDOQ`5 zYH`Pqk^1mlh}I|L&=}a#^Nh_@@GivD6Ds|TmgUn7WT9$wlxtZbnm;iew4~U;`HwSr zWsozEt|chN^DlJVvK;73BYBJ(EY^^5SMCwzKtdf7v(MT(x2o;utuz7&n|TfX*QRwV Z9-~cGq>e>+i3Wb&ODn!Dll&a?{{Sh&b|U}) literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/eth-block-not-found.png index aa68730ad9c0096e767e85af5691e8bfdb708d5b..977e0dbd324e27c88e87d6fd895d9025b85f97c2 100644 GIT binary patch delta 16896 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 literal 18535 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 literal 39572 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�!~O920{>GplmuQIXse zK)Zb!A5g(E_FmcmtlxRZEG+x5VSeH{kfb$783HU>mSQNxgVrtwQ_ToWyqWF{uFQ7G zr`H7dHvG+Fd~BNCR#~K}K-kLc*R!dDC6jY-4Ih*4zm4|w#KfMp9`zil1E*Np0b1yp zocMeUpi-{A!Tp+eOUoR5XS|2@OQ?()C)_r>-j3-NfSpX*R;1h<`j*stw&?6ezW#P> zC7G%^lDA_sGAkJ3dHC3>#ou@|KCRY88byhDI#S)!)|Va`K~RA1zH$H@NK)fS=mQ&} z^sLz5&e6&lJout4)+n5Nq-eWFg}!zyD=yUzAeV)=ah*DN5@X5AKy&Kv5kX0P_$>`t zi5=bI5gcC8%YnXue;*hLDcCOu79VOI9r%(JnH|?1bLk-3=Qhn^C#s+&rdvnN$w0R} zE@oM4#67i2(I@O$#xKKnp(Y#%I{ubp4+v5@qvr_!!~y(w^~Y*9IadxR(k^iZFkqs2 z|46#YZ;okZeD0>Ff@|FYJ}#3)`u8pnhLVkA88Lme#fgfF2VWfhW&t*t6TcLFPc z>dzcv`6?-R?f@q|dwBnE-{Hlvx3gb&&kBD2ZM3v|GvuS4CEW?nyTaS01#Yf7uBS_-5XRNIUQUD@D_{??R>O7Qmw4kp_T)G_Y_Z|i?t z^ZoJnmtk@3C|0|)$gqnrU>+Wg9qbVTpmKTv5Ddrr@sZw`fYqVc)fN9Gr)+jcP#yIv zB;qVjF>9m_T3HsYwlRiUvk`_F^L?oCzT|z={Wqj#Sq;mZz!9TiNvRjitb8E{b{gQM zxqVu^DCIQwuB{?CIsmgS08_#G2^4LGhKP0uJ;ow8Q^5a^pl&{0`I${a`!zcTrFTMN zx8je?#z^P5?Y`I@HTp{ePOwaKsJ%X=jat&Os(Bz3=UIi;Mir1H$a^=ub&H}0f zbLcV2E8VSU(4apmUgHLM*U_zl946Sa9`so(16`KHh^CG<_d7p6GGgMAN*0$H6L~n| zeg$tU5{O$%Vp!W-pK?;T@^cPUd?VTzO&x@PDhS+UI>F5^H|}4#phzW5d$|V0bX}88{Fhu(N_=|To!KB` z4TTMZn$MgDmZ)36sp4=q)$)pO_UFdVrm_%0Ac*}U9um)Y&EA{iyZ?_fZLX0OtrVWL z=%#nz)nxv%(os6tP2bsC)^!#evo%d&QtsEfe*-MyN+tqW+1N}KeE&!*MA$KNh;~$F zOrru6wAY64VZtPprfn{ro6k(1R=Zpwb0#y{gB$5D>kU+*AEali&ArrjUf8R349qAL z2z(EKWN9vp6vk|{%1Vp14M*IeLNJ4j+_5d&sQbqct}R)ydqohPM_i+Uts!S@BwY=G zf4~@~x0kQcAAu`U9Hv0V9a|LQUo-B)tn;iuH*0*9pcUjNvN7LrbGJ%xQ5rnLK&QlR z)nQ9zY^nlflesDlqguS1{Y)_TNihC_7@8MpysC)3+yq4Evz7hfMa;Y^IsA$Cx_BWl zu-y#bRaPDr;HAStgvUEdS4JjAAzl(MeA3vY=DYN>G@L2v+b&#@dT z=?Oy4brU}y6Lu_KISU5`F$3&X&&HpsL@*y4h;!(H--*Fp*QxA8W>9u`(w8cP7FI-Z z9R7h-9Sz?p1WA|8WsUm9v8$9wnP@=wwmxun>&nZMDk{ICd&;I(>z*;kEDnF1?6<&u zE-4>a?|6D)qf*vu7qqsw`V!Nzrl3U6{sb@e9R0CocvcJ$n@o z7Z%$opd*@cW`Y)aB6Jy#Wy9UZnGcS@d1|cI*bb#~{=lEJXOmoFEiJoBKK(vLlc(My z9)9bJypj2oe=qva+E$$mwwn4G9_jC3baBh&Qz*AGe+oxReN2?+WJ>?K^}Kl&EWabHWltOHb=%v99yurj-}+!Lal2&`wu) zV;90BcAR+aoUl3C=to*x2Wj0A*yD5ChYXamq3K-AOB3}bpKiR2k%|F_(vaWL=XyO# z=ysbl25izpj^pF9ka|?t=3-dfSBt5$;LkD|+2|(rFgE)xd#jbAk@D31Q+dX;Yz z_tqjMk@L2o z4@R>3*A*Wsw7OT?%}MMBklEai}DmNN@TTw!-4;;T)2(G z4$&u!lZ4{?dWJluX}Lc-ON_e_0=e>yC)~M|49Q{{z_^`Ouc+kcd6M_yamPZKUhJS8 zkff1krdn#~ElJz0wZ7uWIf`+{rVk4dEfimqJu?+5+A4~-;}H*C=D;0_9$A)Li0Ym* z*&LuQ$=TY7XN(phqtYtWWm0f|bH(E_lO69j*N`@$ zgVt`;C=8`OstbGsM0+((SHB!BYW6p;+dfv>!RX!B1ep&SGv2Jn7c~RPn~26*X8n*| zw4Schw{H8hzkEke&}L{=SQz|Ax)zBhgHnQ@J4*Xw73IcwfLD=(Dx3;|c^z$@RY z&&iZSF(M#x!#`%-YQsyiMiLPlX~c&c-wp#Vp$woa62ISNc=jGx=(Zo@?X-29Ym7?Z z%Xno~BlQ5+2mk-L08BVcc#1ekQakjnOQOU)v|KRZ3P)dkW_~HQSHGM!w1?< zg@XNEZVWW6TWw)Q4Or01AM>)(?1v8PtT|NhxGp50je*gpUMU3TlT#iYS16FJP%^yM z78RAn`;8d!z(oJmw0cOLlO2xk_R#^bXi z*V$AV$F-4lpFtX$k=4&lZ^FM{-CT1Z?hXQGQ71TY@)a-fF7F(w&DBUbv<%g`Ce|f} zss#u>jeJv{W0JpHvJO&=J69>@D9K0%wfO=DG@4Snx5lNv)y%<>G&MD8j*jimBMqVi zLX!6BX~pGg<?eQuePsU?wG>$jQ88gEL zvVJ{aisdqr|2t?E)gx0hQg089oPY5-Bxv9%`!v{V_QQC()xU0@P?KG$mse#ChL7Xl)SN2c^<(~>a|Yo)+zftbwA$hC%t?9Oe7P}6He4E8 zA7~kEQMWs@erH##Otin|%#Nus!x_A%jgEL5(8-n#q_9?m7uND5o^4(0B2sidf7g87 zYHVqcH6gS=k-B#NM85cEN$w`;MYn*XG3^G*>#|fBJ{Ij@^+b54{~oOnl>tUH&7p_Q zM`R0)0sBH<7JnyCAEmeC{bUUwPARr=3cY|~z-6#l1cgHTd($cZS!qVLx@A3D)-Y;;@d8VG3 zd+wQYs19TI&uc8{|2m%5D%}V-UBb$IF_BPD#2ORpc4NZq7x z)}c^u)4CiO&R6;Q-&O+*JFJ4{-P5T-Gf;X{a-yi$st(Ij)ume3twkL>!;7w9mr3?k z-cq`JRqJ`g#^ki)&U&wRvI#l}{hrQEabo?Gvi6rW8tjV?Py(2xz52~SN%_y!#*y!} zy${#v<;`D$s6=>kwp!?7(WY1GFQaBHdGeKHb@8^|A)oEPx=m|+04Fu|b_|N-JL{%A zq#IJ~K~d=`>5KSXu$^---I_Q>=d4)VNLq zlRNG`_13>})+~e{B#wyl8_m&x=ke-iutNLLij5O%faxFu%qHY?Vn2^#vFs%Pg_w#@ zmw&W(U&xhU&ju}eE^K87Sku8r(O+d_qNDkqte0he*?IQ;t)`A)Pke|3W}wGa9MSUQ z#8CSswYW}qI)Iw{&`A&>k&*uyG2D7&TTxQ_EPHr}GH5%3zoOAo#3c#E`zdw}>VWWy zS^M?$#nVr4Zi9H||7_^1Q~D=Ce9OnqC7e*7GVf~oS>w@0c((vBz)+N@-u{uFiE#0=6%K0z4;s@tIx5ZkULHOThHVYL-Uu~3*20o;rF7_^de;)O+4xn`qwf*wz22J-{wdA&gC}-NY zn(8GTCDroh0}(gQU0LX=bRRl*&0c>;U7W4{EQ9TdOLn%;?4T>?#RKgHzBO?!BC7F| zH9{%LsGm729wmqwf}>GNL`Dwhr&a2Noc%XA zxF&rZ=(iLbG9lCA-t!ry9PBAn0dK@3iPWThDpw3x#dEEcl7xPVLrc_e6kvryKHaZ| zGerx4@nCxU>)bVKUV~ci=pgga7r6boe8bDI#)eDbl&0sg7^v0ZqejY6A?dGeo0~i! zq@9G%@t=q6mk!-I5!E%WZ1)wyysrlRpKbH;TB<-ar*xK}9x-f}GZ zs73xRP5hhH^T+Y|ZZcmhg+ZaZdDu?-QAer_?<2}xC5MH_rruS5xk_hU@QM3lFy_hR zX~sOv*Dqm2H71`I;DfNICEf3j^ToOeIpw+>NY6?_fffx<(ke|Ej(VAw z(*Y0^a z6(iZ0H2{l2CeM9p^gBnZ6*4O-c%`?VR;X;2gJCEZ+gzB+Bd6Z{ZjjkaNxVYogL!$- z;r4oZK2w*}()Np;vB7HqCPruED7MHI|p*ys~!AteFo?DQ6ad5(hj{EbB(2;G1u{7C8ED1;02zy_x9%4a(c1UY^b~_ z1_+}UUF`XIWRMCAhh@DKQZ_Sb{6j`~rm~ZL`)i{3S*|^!Lv9ZEA{!x%h6CV>(5Hra zw|0hLx&4PEtzO?u+WPX|v^V<}uabXcGE?e&DAza8^hhtZzuOhaPr=A}ytuvI#gmzw zUE}Ie)mu$RZT^%iTm`R0{9+{2Ly;a-DLQ4 znve}g|FnC?1!wL6PLz%E&l!(4OjHQ%ceqBDKPtysJgZGVO(B<+DBzbYu^LVs9f4F7 z`I+@h`4~e8m12&Y3oyNiEF(H>0kgNV^g(10zft_=xc)Ru2QE}PtdbFnIa@o?H(rn<@FW&=_xqTFEHt^?!>em}+;vJM3xcR0*=b%W zrM|>Cv;e#PRVjnMl`|>0t9zT=BfsYI#ig)xmb~f{3@|zBz7ZJif(CU2|c|m0uIrzcv~_ zuOCA=zJK@j@mlJwKh)xU^!Y=5Uj1@3h5kkM5_yCwplbPBB1?VK*;-i~rkBrTC0vq_ z22&4|eJ$@<3B^g=883O>c|}3O=cQlJCz^$v@y$z@`YrQm+f_(iqohTs6jf^`Q1SKX zpq{I2aygt)T-^R5CAe-{D+cvN^4AYYM(2}6=D{b_b0A9ouy@4?e!cUQxGj+EXm^zu9F#?z**EI>0MIhdq;OWp-_VkUi>nIuh*tBq3z%bPqJM=pS*Inukt)c=vUtwDES3 zsSjl>B&ain3&}1UxD}Hyq~Wwik(t=Sn&@~5lk3G^5&jt|0y)j4F4>mPLstX$ZrT~5 zp5__6oWwJq&mfjNjo6TtNHDBEw7}BHPM2({0oNF0`c45?l5s9YxDzk7Xy_I0-xV8) zH>`Wwi9{mBrAt%a^Ls$PZYSBOh7Z$*OEc(6ofHE$tD#lUqub3mHGjXxp;+jya zW9?_T&({>Mz#DXu``<+*x!B8>44th0@GChV#hr}Cp+6&5m8=b*yH{s{uRPXgE`QqGS}^m-sI171XItSIr(>q8q?~^|(VG$>{ zb6Kdzs~(1-RD!-!73Ib2mTdSBZa&tVbz)+>t-lK-#0&T2{T?%PrA2cG5qDydCN7Xz z*N8)~uKt2RS5uy%+9LKxg95J5dF}?wq6l*G2)z#z!c`3d-G?i56$5XCby;n+63MRK%P zPgH5^_v}mu?kQEd%p{3fI2b>DusU*O0fLr-oU%qt&J3sH?ucQ?s;eIxBvtC}{&g~V z_kFwP?Z?mfd}^=yn03LTp}NMC%KYg^5&~w%OwO|Hy!3HZ_HtqF2|woD7L26#kt3mH zbULC~9;-={bkdEWlq~)jS;eMu3f_2ir|wl$|Ld>%&y7;zxdrc&@+qsmnPQ@=!AFm#+b>s}(1*P>1_kP1kzk1lK6x&mTo;tY2%~A{{|V%Pj>cQk)3^di zj-y7sU3X1>c}cX*z{*3O(UxR{r&hbqp++b!n-wc;2qsa>R6{yGGF`~ zAO8O4{?{~JA=CLRHBm(U9R&rYYa^hWq&qKHBa_)Fc7$GN;LmX#Zo})X2qNv<{lq7{ z-Vhj)iHUEA9C!MuXcG&!KTAbHIYxh^yEsdvbfGP0M4hHLr67g{zO?lz zQTb6<_3Q`4;Q34Hizy{5#>6GBE0C60h3A3Z^QSZm3vlNR{r>vh+~(r#miyyBUB)jM zJth_`z3&96+1Z1Lr2)m7h2!-(*zm^aQS$jVMz3X@+aE;I)!6`5E2q(9ol zMYlrwX1Zc(Z_%O1Mpw5@B4iKY9oq7njS4>>&4&OCKkr4b&O?ix3l5WlXTlHfSDo_55?V1dhqv2h z4iAyFmKYC+#!$Bgu;YF0cW>MHsDwzWfe;%P9!PnTgB|bN$RDkrudJU>w;#<7EwA@( z9f=zOBl<+1t-yZR#kQNOV7JAisXu)Qe$M?^RJLJChJX{;vT#U}0!tZA2QG}SX8V?g zi7qRgBst)id2D{(ZqHSw4%PvYr3(IHVcJmBndBjnDgT=2V7ITbrSmLFvVN`YetxOq zYw@g`jOZJ;&@z(f;kio3wUs@Jod@R?YGZek-BUB#w(>VXRvC`Dh8ep0AnCNe@tAV; z_M@hFf20+T7p?x4--B-7#7|ZO*G~6-ylOII1w8BM)Y1e8yYR$#uKw4;#rKw@2g4PM z?Q3rbA}D+AFpuumeunDn@#&vmKy&WytMiGn+}0-j@K;xVtxg*PHy_VT5A9ykd1zUCW&at^pU{$r=!w0xuP|XN%0oi!v+-24iqcbb^=DiBY?hnJ{}a_3HjY@Qbf*@?iub(Lo7j^ZFzj z2QDPIiGs3MsEfrH#!aVd)`4d?Bd|4EmxW#BDpjZBMIQZ!`om$#Y(}r$Q!kLuxkQVh zWE!y?OOq-={}EwdXq%tAL-s+sR!kE&2nnSQ_MLghZ_5~;U}5U$XPt^wQD)J1z2LnU z?FWtm7BWMLl67y?Z=4-glq4Q$KifaWQNRdV4f>-PXd_z$3&? zvY`r#gs_t0`B?2`*bOaKUw0{~-}Lvy5>boj^)>^M?j74>i)s1ehb)PcU&o!9USP#E z2u2@WJOZHs9--%J9q2Q|c33_grIvih3z>oZw)&(l&rf~8!i7zVKK*DKqry`!`X>G` z2kGzkaNkgPfT;D&CJDz^+YBdj-h$Wf%}=ct=o=X{9(F zg$AIwc^qq!4csi0m29W|J;(P8ipvD9xOyAl%3fb6OUe|pVX0v!97uI=OeR3==*=1+ zzL~P#$*l{UP#;<%DNRBf)*9Jx{oW!M9`3y+t{WB`MdrucbE!7eoe{}4>Cev(N^bX1 zpw>OVuHNXoQR)<5`TsO7$A)DwEq82%3R(4W=+~Ua@}2{~delrCpCE|w=r5_jWtSxF z$Em3phrzgeqm2-tx<{r`qfejx~_;a04C^0UKi@ z0CbI^%~gZ|RRa*b^qUW39`wb{&bNrvB({Y9JNc9#D@O}yywh#7=fy1CM*>i}mS$r0 z4BMjxg1$c51frSAznymvSN_yp*oTv--uwmerm3*L>ut8;^e&^6F{)V@QNVzIhJWFk zbsbab1fV{pAuQp$_3XG3k*puCQLCBR@zjvI+nDU?K)NltFZVprZabfg<-1+1Q{PzK zVDEt@5X*Jzvte53$Q{#L4rNOG=D%Ps&K<0jsMOL15*ERFBj@$Iy~)x=-GMZC6fzP{ zr}(S~-j_xRSzH>dzbo4k-nYRyBnJ?mm(S>Xy*wCT$+v4GS`FpC54_LmGFM%A1l}Cc zTO;l=c4&RiZ@doDBu)MxY55x0Z@5}{fiSYdvk>SwFMmvtlPzrD|2MwH8Qd0D?~>(A z)F+@hu)fMi@GnF798HrNk6Jw!4f$xCC5&2}w?{u@8#a$(ME8;|E3lJ#($Cm_ z*6U9Z`QV~oS#%%iKDGNdoaGwpQ`-7y62k5F<_KYXchg8MbbqjVGF)-o%*GTHmf}p< z??BMU9?dz@?!KOCUG2R0@)^~S3ML7#j^IT@$kkd2Wv=iT)F94}5 z7u@P?Yf?mO$2ABWZ@I-GKCR7Nd~-?k#t@wJkiR7D;9)koSYk8q_D^F&_S?=Sy0^kK zZ6zutEuahbVP2{7set{%U0eZd6MzZ@-Ad82~P7Fh+}^*|0aN9uH zTRN=s8WWYC)~4^P`~l5ZL+@NB3NDt~pOZo)BuF+?-0Cf&A*Dq=U+;&++TQz4gfV7& z^??5~{rE8+4mc}|@qH04t58VF-QU8ZrApb9xcR!|u#VgYE*WZew^O8V_LLSvbiYjE z43PGoInoE|fPC<$Q7_p_FOl^?Z6{q-fNlm|I-2L~X6lm!C3k=I9}tc6zgwzv7`J3- zIZI|Q$Z|Z!fcx3TL?w{P{UTQnJZ61j9J8@}O&8Bju)Wc8ER+Dv*c-RQ!ZTA>Ji_V2 z_A6Zw7#keE{_I=rjs=h9KyksNe+q-DP^)@*loa6T4+ZCqVhu&GBypkC12hJ#__~~l zB*p}L{@?d|RG>S@u55ZS-DKVEUWsn@+fn7!^o#qO<6uT!zZ1A|`+jrbab%>>J!vd4 zvxqxoA{lYKq?d7M&dDFFoNEI>_dXm^Zs?U=LvfkRk#cRv!}V{q_ez(aC=qS!Vgl(w zv=^csN+Fa5tvmu_N@03qH&QD1`i?bX7jH1;fPCC~n!N_??e$t?vp9;XbLX>d5Ef-a zYS7!ewhQk(`&WHD#?Y&&i`IYFck@3KaKj(p=Sg2b5b>Q>|E{!Ri-50g10L<#gIEd| z0qqB=C2VNhET2VtUG_VeiJShC{LlS<|F&W#Pf{#4qIq&l%g(X%s1(@47TCQPx*F}* zrg6Qzqhc2+Eb5(RPJ59o%RP{;siS*#Tw$AeQAk3@KJT(FwxR85nBcP!$@BkQ0Ae|3 zHdEQzVBm9b`j#?9+P_TwKF)9fx1mFzR7|sP4>E7V)02r~d2ixacifK7Q1Bj`OarqS zBv5^Ae;aM2Q|HGPr!S;H+5T8WIQolYuJzL+eE9CykD7SulEh}~lW1deTMK?6BaWHK z$NAgquexH}PiM*+=H0G!+K(?c%?enoZvdqP<{uAvx8e24M;_Pe52xOrL2?dwONl2_PmkmqO|E|%0lRNg|CMet;GFM3NGd?>ZeO?{36Z$4fsS#X zX4S(943I>fD?Iszd;BRy#kY9bIqxNetC2W)^Fcm)PG&|z3h3at<-pZKQ4s(+RCH(K z8jYJA48Z$f<@>E*b^tg=JUoyqrj5z`+hJ)#YwNpTCga2O9$ap`F(CBXslV~(mj%c_ z&m1K-H*<07jqw7IGVamBTVT)o@W-Yg09u`eipAbcCp=NIHLhD}S8hBzb)QbePb`(I zP_Yj#wu)4FOw_!^H9dkD%YcKNCzE&{i5y7NE_DVGQ*-^4rCuRT_M(eF5Vu~hH0`+p zX@l3~WSYKi`6!1B67&lIqPpx2N2O^Pd3TQ>mS`*t!5Bl!gA5nzvKlcSgpIf}iGLD! z%YRE9i}f36w4cXm;k(v{nvLwGu>@=x z;7iJ$$?D>efN+WW1={cjrSbYw2I+t?(Z&w3E8#Oe+UjMb$&QP1eSp586bGEn?*p~5 zq%GauNj0ITAIH}t2bbqbYJ&R&QUv|Ts5q~ujYMDGb>mX$d~oF=c`e6eG3w*y*VN>B zkX3Ktd9C;sleI;ug7JMk`psn!Ws)r%z$%&BG76JdXaBrr_Xd zW8diouIB6c(DG(MOwz<);-dsku@e_bmWR{MgaXP9^E>ol6d_?(9E3^tc&VckV776I zom}@WWJ)@<0=*)mHK1{|T`#6?w0E}=8~IkW^23M7|#EY1c27nz=ho}cXa z9)=#1bon`t)=h)|-3`o6zvMLbwUygTXyJSS*xP^UR#%kFvxr4#va*e#RfsQE%O=EGNM8Dx*%Q`#ho|18v4XmaW^3^sCStnsk5~%E5 zg=i(L;>~8e&h>C7^`gkEbP32!z z5G1b&@9_5Vc=txq4}wED_5mZf#sww)`uAC+gZSs|1Y-s=<_;vt&vox2XM~Hp_3XIC zuXT3k8vxI|m<<#ZZ+idJ(B%F~F(>NLI3i%Bgo?KUZj247gcMNY|lQ1XDB)h!RGF;g3yAQPX6Lp@S z!M10s0gB0aKr@fowP<1u4vWz495LKViXA0HJ#*z9#lMo&t7f+GLYNDJjkS)fz5?%h zd`=xPDDcFc(NeH?Pdq`;6EgW=)HL+P>Q{S7V#*llr6xiZSWTytjB=g@mZ8n(xaZCq?}s*S(9=@{`7s3=@A27vFRUqt-? z%Iw2gNpne|k^3mU_(u^Q%QF`Js->O?wdC@6)VKyk{(^^%DxyH-6G;@!Q|vP?MhO-b zZAxlpqDw!R9&$cg%6_;}aL1TW=B__cYealFMgP)A!&-{ybKfD`qp#%PyT!0@GRxP` zzvlx^obPQKMC_1KD|=PcRHFnO@Vo{_YO?Z^QHSEtinDloerZEnS?1KN7+pdpn%hwN zP{IZ-$el4&`G)`NC)ejJa2k=IKg4+fmH`&dheAFqL`yC{ry#xu)Mzf#bG9$K60tzJ zBF?8EbV?w2HS|i8^0KZRrcX}ife-k5C`zl~96f}|_pmn@huebQ6ld6H9*Tk;mc{5RkuHCnF}ov-iS1w*Xx^xdE!bB;?UNq@v~aX~TYvV)Jokl^qy zSjW@wJ2CSRtD1)I*L?`Z?rQ?MkhNN~TB5$=9iuR2 zq@_65pp)k@Oaj%vo04*m;=9V1XWzVUWyFx3_WYKx$K!+<&?1s!cY6lCoizTwlr9&B zdE%+)@dr===#jx-z>vcAVBw3+;&(Ir;pwgo@{VvuNnsWz4Q1O00Ygm<9~#YZ=1=J} zQvqPJu3COoS~VB#R95yU4sqcyXh08;1&X;`1Uz{AYH}U=)u@B)ev&}EyCXtIoQisX zeP@D7-j{RqpNZWb>)1k~d4q@-R=^s=kIUh+9b6;PWE^;y-ZV05&&fsjAp?_f5CpdE z{5Tj3JR0_tQj_bvY1l8XKy5;J?m8vmldN%=xgfUX%icV3n~!G;KFEOzsTO+ihl!DF zmud>z`+OUk1cTyHudTM?R?5cDi?>)6o`zw>a_-+Jcppunq;Q)_;}PQ@{tS)vop1e) zSn*W0U4rgTgVALO)Rq(Aa2XKfW9{qJ&o)dii4o$To*x=|UV44qdNA?^kL-zohlZh# z6}MdfQf8L`y;q0gAaf>#YGrec><}T!ZR$)LTeAL&l2vSP^Q~cKPhz!mT0x&i%l^pBGwxGR4Ctu6p4942r zWv7J~nsh4?$X<^VD#&>=F#s}`yJN4>We#Dq({G@f-+_N{z|~`n3(G}RCxlU?@t~_r zS3p6H;!K{*h{BcW4{{;lv-=T27Kqx{_|B8KgJ0KMaUyNBPlfr3X2ut=d3DckKOgizMB2@2jy0aobBz*BS9&xh6X@NCMzJaMh(K8vx zEuniFQXp4u{2Vz>*urW0QFO@ElKl_<_5FMQiboXUHq_Ez3qM{%sf?#iuGKU#Jf;Em zO=B@UEd`_~S53?e?&0F_quChSSQV!qaca_ixu)1ej(PhR*ui~--$$Kju5f!L65Ps7 z?}vRyNz#=o0U_=yb#U|$7rQRQZl6!UZm(X|HJjau^qUiXXA59!<$T;GOv8;0IsJ`d zObVQlN*e7?-LWk34fHfAIEIHlX*e)Q$Pf&?fjKWtdQAZ2(1qp+h4U_J^9+o z`x=Moy0}92N*~7P;5z0A?yj^7cRvX_7$<*BxvpUp7g)g))%~1BCAK<@3LHR}^EPH_ zHlVug9h0tO zwSBm;)}ND|OUapbKKYxJNdHj(I+%pC$A30$)O-tV*z&kzD{3#LGAQB|X?vua4uk+3 z()eKFtzt2*eq&5urEjitC)Ri}YV44Y3WQrN|Dy9av&!_Lb+{qpi4|U8gyV~T+{%WZ z!6p-%f-L$ur810CX1X|H|KdBRuOTbBh``*LVfS@PURneF`4=Q3>=QBs;G*m_-@s@Y zy@0W*9_)4@w-}1A*F`pIs0B{JzA|iJ@ZPWE)4x!J({OgWb@TbIhc|1V10qJr?`3;jkdt)~Wz&@y)bHcS4oLP4+gHUiHlfCU37rhE)5Al+PMarDJb(%PXpz;$ z$VLlk{HW5<1MDN-47F>tN8*Bx?grBF0wW!%^|e)PlPd<|GGzl4SV*AdaR<|&G~_WZ zZD)wkJKl8Ny8%{Mg}rtvXej}Eu@QOHCiZZy?sPW4LN@N4Igb!e;9eijfW9j5`v-Nq z1s-R?EDcNZbZ$M_#kgmQZCgzHBH3^K)y-6`n3R&pk<+!q^3|mrPhx?rhu*c^SV^)p ztB-AFYS_HsYzMu%-3qn3=5SX5>bWES{RcE%66^3IIy|b zKItP(2%i3gFjZ1Rq%n{0_vn}U%@!76I-gaRh`oU1nH~*i12wdb^+zJbAqb+kq9`IB zSiFXDf{qd4$Y-q|i)GD+1^V9vr zHyo`fEf_<<^_I63x5!SD^^ZpFxegOLoVN#1`U zzIv0B1B4T${EFUzti|-jrl13NmXqE=dCU!HHN-GkS0U zKn60IW{=qHd5Q>$8+CQ*E&N&7D=tCnZe?hJil;y8kbqrm`L@i$wv+$BfQ5|PYy{kw zi+?+J9g&OKnYX?0>=~TQBbeK|ZwH>p-F*EZL!A@LUp6E*pw7#b|9zFjSVHd`@s@*p zx((ciKVsZ34|2L5gx_8XtkT0K6ONB#!yxQdGBBkRv*%RY2;AVP{;USjC(Kj*t z7k@sg#wrZRAA&ahtE+!@SxOSPGp44`IL@2u(M>_=@`@I18i_@0atnG?7;QF;t?MPY zkm&v@>MwhDNaJ58m-E-NaU&?qS4fC9^Q=Kj&EQW zK+K4v%-j8k#mrBQY8i;yE9E|UgPBtRTqz0pC81?&3UljxO89o=>=z>gE87X|CwY8> zCgu<5>R*Zb%w8E$vPW-@G@>nrnv1);sRC|zXtjEs@SFwlxAC)G7nzEfPS&T7=aY?O z@g1|yTfOddo4s(qllpALfjf@|zmDcazdK#c6EMsGdFc$4zBu1;=*u{kZ~zJ<53a>5 zu^@L8;p3j-hz1~}h_*JHiunP)L-2EO9+OK;C-LN#2Bq?Zqc3UkZ2z}SI7GLqMaF#g zyc;vi5yX#!1K;r{GW1aV4*2K-euFRLq05GV^heDYbm*h~G%-I}A3haTz3N=S1;68wRtri#3K3qu$5nr%(V*Vf&uK+mMoea}_hR_gS90TzJAQBQ(WNO~l; zgezu5I)2wZ1TMJfr+4;No&EquKOkQ-^nQQ+k}pBm!LR0>{#w)4U-k}t+&JxW5 zdbQWV)h<1XCjy$!a&TP0?~e?i1+-9EKGMSq@VSAjiQbd;Zo2PB9R9HDOtbOMVF+ti zwG|=lB|YPxZ?Q6N*wl^AG1W0bf~u{5GDi()-BNFAC%ySfy4^T$xYCaUg+ zMtk21pPs`#`C;^tYO`5uU~sYFNb_mUTLjh6A|>?JY^ zyZx@r2{2R)pQr2%xQ$jou`tq8CH0T7xXt7jqw-+LdE9WucO$vk5LRmwN`GV`3GoNW zJM*VaR`a)4R*6)r?(YM`peqo@n%Ae6$1rrf3vk{i<%}DbS<9&Pm>Ci9WD4o*&s?6z+C_}{i$|?=!E2-u=`-|&z*@2XSr%GtmRvAzjKns*mm59CO`0!dI9Kdzj&sGFS zij@V6S8Ao7CX=O>$=7$;+8_ueRdmP}p`|5wmZ}WHrQg@2PCD3(7AiM>>@_PMkC6v2 z-#I>=$83nAVIpb+!LGL2?i6DQvHFfp5thA~gWBjOxue!+W@_R}j;<>&-dX@6 z`QEjOGn+I{-&q-xkzQMsI+Mg_Yp|guWBtt<^}EF=KH=jO%ZYPjuCH)!X0z z*+GGrWYP;*>357Y(b`0+DacwrQNw`i48w^P=ko|Bj=rInU-aHi)Q0I%>ZZR==CzV2 zcmdhHGjTI?;s1J8Ea77;FQg(f7eNgd{Z%k*nR>DMxaCqSu{I+VpzHO$)txor64$Re zzi3YV@Ts*X`B<-r{0<7y)$td$HKb3p{+D!OyC1WMtGjY!NeT zb6dTloXt9c%?Yn2YUNALrz*;9!c~_K9g-H_k5BY-G1{=MbVhc)YbOGs$Fy5~)}0># zm_p1=o3M{8EElQeoU0aA3it@!Hk*_bLG|Tz`_tja07;Ck z@!Q}89~|C2CU;y-IEVz3|2Z$Zlx!q5ofR!3AuF>n%TP@xwnS7`)qC_z%_ZkS#OoX2 zR``k^n{6|=m~?d{+k|Ub_u0vSV4dh}l02>Wixcb57{zV6?`84Nz1>SHkv4siObw&K zg$=rqu`|i58*F_+S4l{N#m$G_6iSWcl*z4)FPy8_BDn=>n{m-LssjbA5TsqkulW7D z0r1eWn)SKpCH}y^%d5v5SX(954WtpxLTsZ;R|U^^3?+UN1HeTd>iF&?<6fJUXi>#oGfn3C0DX0GBQX--b2 zjjL4{Y$kG@wy_CM9Y;B|x{2)-$UKdK|9tr&Zeh!H>Y&N>JyQ@sJID5HQ7aZ#5UikC zzZ7YAz5V!(UhHFiS4`mXw?_bzlWenRSZFvYY$p0AVW5ZeUZ1iqc7P|^76DOBK6k;XU&$ckof6?`<8=&IGhY&^`H-|Zomw~&07_Sg% z6WaDkNkqM^CZH|aNUiy;8kX)$vH?6`?&0j}<3BK!LS75k&7HOLm0b(z_lS#|S=iJa z52H<~6>p8r=iZ%0)2`Kpp?$koI(jp}mVeA$$Gg>k@A*cU=z67_3vV_M5uWSq^Qism zzFUc=O8vgmZ+d_AfJ=-d3gE{*2PSQRg9-fRm)sY#+~(W_hO({5WLDn>na&D_65M(s zlETDu5Ii^fdHSFkLpz#e5s5|ky}c5vY|3@K*$1$xiDu|cgw(-ycrZZ4p`hnD2M(7E z=&HH+FgP#NVdZx~HN7kQ2SwA54x)KC8%@6Q1;*A5RnZQI;!Vnkq1?VjC|#6ZG}pz1 zjV(U47SnxG`wQ})pX_W}iM&!xd$2BFGKAf$Ppbp)AG6hFL< z`#Kj=3Ps?zu920q7ub z6ZRE3ZbTK|H&;OuG8A}|LIepdTe&b1sbb-S)fLir!M%1ayATu*#8M&>Zyuaj1}G-3 z(|_OP#ha1pDz4%T?Y-aD^phzzgA_{?#8Ij#|ULPdh!sUk<9sYNq7{XRU1C$F> zr>@BDFTbnGy~?Z$EN6loY=UC4{>ZB%3HHiTX6brh-5o_Q0k9ua7Pj;Ledl7YMvu}B zjguO}b?0r+nrb4xxr$_|Og-jr{+MC>Re|a{eqKEI&BjAp$Fac{m%| zZ=>~B1I@4D<0bQXMcDOSzMp&8l1rD;91*4^5uIVa5>eYJDTfutoL}*1CmDCk5mZrn zN?y83bpy00^Bdx=mr9x3pknuG`$F9hR z`ZF2SrtqeimCj{vMk^%QWy*0BbAEU3Klg5%>Dh3Bbs14IzuW+n4uA+mOFV-im8N5) zqSDrZsRFHu4{rD227*r9v+b+8Ws~4w0ag$1uL|KotG2&wfuy~<=qqAt}g;<81S&t=&*Y+HAYcn3y4xoZ+O7mtw&;9h>1Zus#I%tKORySCpoY%a?LP3t;an3+$z^=fP%SAn9U7XRT5{2}B|NR1UC2 zk;gPpV}cpYONfrGp8g!jgy1t{gd3yH#o`EfZHFRY5258Rmlmt2NXkeO$XhP{f(wGH zJk`6rD(uSo)YjwhS}x-uc;{Gc05S$L-2B!!ROneA zH(%r{Y(8fEfdUC&&+l18d>Ge2(Rc zF&cRE+SgHySsH+m_HS>lOOv@1TeeKuJ!(K_#Vvhv>OT&p1O8)bTD!AWYlA~=gIe`o zgoNG!L~}aH(!sjD$~u6-_xxsqe!_NTdT!{KDB-?cbhqud36Wc1aqjup{S+{o=(Vl? zyg+1jN6+(<{R4Xaf!*$jLkzWczd+Yx*IGrF!6(WCz-Mh1mvu*1@`XMpJMHilL%NwOBjC(STUYA#PTS)*R`?NqYsqoFsy zHA;^0{i7CFzXzdRq!SgGZ&K$j3d+?+Wgx6|+FP6+kYQHQXU*B!G)C_yW-se)`-m>D z=0~5Wd9KE_;$Hrnuob-e76^QeYjaKSN1{QDf=7`HJW8iYi&IeV?kS9}jH$rtZ;*27 zy{EpX!PNLX{X1t4c-4Tz&&3u6M&MjF-&5K?Fw22odXSLRjaB>2)>g^PO*gJg@=WTP z{YmXLReM>~QCKucBlHU%tL1;Rb|+yy_wg|$!;x1xnz$J-*GkaF4Upv(Xtw)Ehdhz^ zCWMC^{BubW3I=plXRyk!^u;;`RSv%Ob|=d-cS#7eK(Lr4)>Lt}?X6dHgiyjGSwv)fmC02U6LjBLT{Kg@XVzBE$`EqSg}l@Z^l%%<4irUhg`r1r zyja~dwIE+}o?W6t8`iJ&9x4z|;sipx+UdI9`X>|8L+Q*iLo(3ZD`%C`Ggt*6R_qbo zm^uapwP0>(09yQa2S3#vUINW{ckfkFV1-bw0XPXC@AJjm^l$1mUL>Y$(~)8BUvQ{z zWM&MZAV?}1@Fk1ANf(8s{3&%U#k0ByQb*Q4=v10f#*dTxs zwS%9h+WRFMbaA$^;T;j0K|3(>yu`4T@M$SBwAteG?e*Tj?540C7;LkGRru>3iKp7@ zKqPm&j;qmi(<7F;rUHT4>W#st@J6(&#I+`n9%1JFp2o!6eku~fD#&icb^%y&TTf|L z1Bm1=Ix*W@fENTC`s89-0QI&(8#MaXgeyQDjSAxeqie<4U>O~{Snk*4vlB4He(+?I zMutd_2$;ID*p5T{T^#?{q_`wv9158UQcXB_lY9-p(OB`7^m)}UT0Mr^L%7GQ3qAg? zspk%a`hWlI6*3|pdsC$Bl@{4#M7A@Nb!29bY_i7@MJOxtY+d$_&OR%g>>198-|If# z&mX`0`(EqW&+~qUnL2qi#KH_9bpgyf0@URm`x|4#j1>cAudNU7CiF146$uPaA!ez% z`=%v9hPyBg9V%?pp(%YTaW>b&u=ivWOSN9V=UBoo!Xk^Jmn^xeFFY#%7J_nC`rM)0 z^{i3`EEv}Z%;q_ouM@Ee*E+H~{M$_UukTyGko^96{FgW$h!Bm8cXSUG%AwpP`BjS$ z6dl#vz~1+NG0u|v_@aW;HpUal7%~K)iSw)#&%gxtJXRzTQc${_i7UFxm>Oi1R;o7Z zpz;N+u1jvk&72wOaiTL=IHwU%Yt2JA2s9XjY~CK=$QB0@4Dx7!I6UwMRXS6)OOb9! z@8IUd?aGw&8dgN81&XXLUiCbj657GU&$#!+jS0oqR9wVc9Wb6t+)-JUuzQP6S(nU| zK&2EXn%LCGNCgQp-_@`l7dT&uB&X&}-~PgSBqAp_U3Vm6|MQ@l#F*P|`Jh~)bYbDS z)NEy$j`?JYl@lm~CQ|`{3(`^b=-fJEYJYa1ey@12v-y#=i0#T6xhc@2*vYt^_~U0! zY^Ka8KTc)1cEn5~Ca~GutMp$tRUffK`0*ErH-PB?9z%ZkN-xw?+60c?jCYvtPG}Ao&n4k3Eo9(m;QRxzxhM;0E5THXG&~ae0 z%={6{uymtIh}}C!8s)`5BBd**o`0S^E$#xr3##m!Y;h^-B*4mVPIoDpuWT!EXmJ)p zZobitdyATppz>+izQTb;;ZRl}Ozh$+&{AkmuJ`kIazW+i96iO!D2J=+M~TtGUB@%TA85WDm={@RrRkTrXDqj%qN1?xHXlWk=p_VfERtgd-)Q&%})R5Vy&N{6`i>|NZJbS`F9p@PZ zK=-yYjeK*Ou54>sFR;xn;i@Z7vQ~YcS8qduztiPVlc@Ow*bzLY)wo3S8#zO2ZDEIm z#$b^0lFCI>s5Xj>nIQ=m3W>^;#53zEE?fw3O4Ix`#J=M=LOGDT1zxg2wD`tmxas<1 zQtHAbazpUN>o+$V$}gc5@(_4FXoTk783d~rT%*mID%Np@>glRQ}Z0kD6mP?r^HwH`;`w^DsL8l-DlwV0Xl)$=K#HQ z0oUrSjA8>65|=`O)%TF_JVtefq!BD$y(aP~7w81G$z zf6=F_k=&US{*rL@*R0u<2q0rs5Ihui-JQDnE+==K@l?YxZu0082gQrvL;RyE#1$jX zMpxq_!enY9jgU;>ZA;gS;#(2bZbN`!$AAYZ;}rFNEutP~koXn<6=)s+0J~PFajpMe zY{(bs(!nDzi7FYH+dWcL$Xx2RTSm=Bu<`~+QWU1d{^Z5{K#Yg0IApP;;^j*R3|I$S zaA!n{>00-G_VrZv?1Hya7HFc`mVhelg|OlAL1GiD;&5)YVi72)|7TH7IwRKN2tl7D zK!ZwX`Bv(J0mfkLV;#pF@QTlc(uawzkbnLaui;U*$@)o5$Z}%D!h9ovtjw5_)Yq2^ zYH-qf{uy{)@qgG;)*@JuN=OHluitQ@3s*=dIb0FA9MTN)I;V5U2TIqvuc&0(aW)|Lw~YQ{xt` zf-hP51<~biZ4y6CFKN?}IBygw*0;oEbAS`-*Z3bbx=#FZdMn(T%?9$iceiKRXZ2A+ z&J3-nU@;0`@?j^OvB0&g`YhpH5MBz*AdC4b$j_VI#L%qA?IPgZ^sKhdgI9fid)YHNSeO@EH@5>m2bX`n=P zVSF>JX~0-|A>RIBU$O>}27Ouv{+lxj8qqVhf z4PZIG|B?kEjGq*qyfVw$KKtmBc7xy!7gsgM4HuG1#qfJ!%z+8MmK)1E5qd2}R)Xg8 zVl*`z#qgD9;@u-F^aUSDKfa86A*$r5Bs1h$SLWzoWA?g0kF(jCw1FARyBePj8ZZha z(qh_WiDpUtuVe3x?AYA}VGoVNc1z1!&PJ3J_w8Zwy`y3UaT-eVb&^DJZwvmM6V#4P zx_3=T!e5ncUz^rcUBp{NXSOW>P$YAwnKu+r_)x>-&TjfY`pIx{uECM0QOuaiL#-X* zn_rw)VMwy7k-Xp_&w}|fPZw^zuhg@Fch&jlNgEw+AK1ZHFMlhSXOE-O_E`Jq>(J7T zpqKJ2>JmS^P36;;rY}(!N4=YbMfUD9)_h4T(`_i~I{s45p-RjxgT_3zWfvA}Iy6 z1$>W6Mf4lWw|3p3Vtojwo-&XevB=@0ozSg|PsRRBe);=KLy zl7zEyS$p-Lx}p52y#rWp#&%{(K}rj3DQDZSM^6y_)gfhJe_{_lo2ySxLz9#vsB?!Z z@^0S&vq6*00)DgZF3t3b*(lEK_bv^}wfAunl835>XA-MyjJlqsm zq9T@Ma}D38sxf>&lRkdQ(#)FR-Y5LQ!pvi9-Pna5*MDP2rA<0Ty`{*i0~m!|E82aZ zjKCYphLu}$7fM)@k#fWT40jZ!^f-CX2ZvQ`dsxSBqE3Yt4Kqb!&mr23ngH0Tw|M)z zHl>TwX6sT%V9{S*+`0}|-RZ5J4|0k7^`U0yq49B&pP@jATbBs6b}m=P)xi3T(A*GckM)bjvibe{tJjg&a;GWfH=jblqYkc81u`Od z_8>4kC3z}8*<3j35RXV-Z6J0<2K|QDUiZ2AaDTU~@`+ER_@0>M?N$5VTT%jGAw`j5 zV{IICM{S3wX_k`LyXR@~S@1#QM0W>`Rss?0J7~wLW@?)4wwitM6C~TB!Qc-q01J7= zXm^JVykoq)PbxFfg+g{uJF2#`Cf;33pyx@@EQM244c#poU%()LJ$AyK(x{hjIurPA zJqHHK^pZ(0Bjzi*A`l;{V~Fd%NgB=qocs>oTFIQ>D-5cOftGS$X>v{jSg0!mp4BE` zmyCXkEbtMRVa|*)urroZU=dKcw(Wd7r^TPKi2Z;y75O9soT45=iz&3ejunCt6^VC< zS@qRENY~iTaTJbcdcIwo7VlYRHow+cs7;X9o!Z{A)JY81EM4R6SO4)klfkAQ5}09) zXK5+w9;ZRQuc;K(`Tl+Vufx-+8i)9~jCg{Dj@iDe@;OFEK;XXxbz^Hj2@jCnTE1QYeW1t>Bk743g45r2mrxRe|bM@<`XuT>7JJ)cwTqFW^M^n@2Dkqq)9 zf`FV9bBYy>7~0!4j%r#Nq(B}1CcE**wjPIxR+3uqbZVe1HxH~e-flj6MnGhF}W5`@A6>jU87+TxD9u63tozS6G z57cCu0c{L_Su!O3&c?hnd*gJiLfGl0S^9v3!y;58t1B#6Oq)LDzjM0Q+U2*rnOA>( z^AE2UKJ!<&(`?C#X)7DLH(%J4pQA2Sj)5P?i;wAJ+&4HaU6s9e8T+pM005F`KY$0_ zrj!qN;P-xzsJFZaPkzVfTQakktM$M}y6I!4?;fWO zEd|Xdg{E3K$@Wt`XqB`2ZVHk$Gx_a#up^_puB{Ar6%X^OoXb%)vCC9z+U09Jt#>3@ zal?r!gl=S&hgZ{rAyB~>7HF2U+4)Pnlr z`c%&LVmG|x%jjNvx4vOo#_Q2DgFD7~bp@t(nu0~VJxlWFw(-Z zIoSq~Mb>=nF}ryA zwh9Jq-g5`s4?DX9itg2oGJfO%9h?;p08VCUceW1MAu}OizbBv1H5Ash5xj6RQl!Vy zRMKFFw;aJGaTLV3)-oNYumj{fA1RBQa39Lgq)ir*?)!};2D5b#q~(o(E=Y#I80>w;@l diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found.png index ad4918b26d68a36fb7a19a26a4bf3f2272802a15..25a4fa77686bf56882736139850a7204576891b6 100644 GIT binary patch delta 15360 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 L{=8Jt{KNkM*0lQ5 literal 16719 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 diff --git a/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/eth-tx-not-found@2x.png index 4adb5220c2c265b4d16314a2afb867128f543cb7..f6cfa7e50c1a3271fc0acc7f50a9c8f991fdcdeb 100644 GIT binary patch literal 32993 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�gMi^E#Mzf?C3NF7IQ`-o#?SESkM&dO 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�R2tK;-)2I&zqQ(+QyvH^KW=yLfj2d%Vy3*nWPcHPN-cW9Fma z%}f>z(>e$1-)Hq4b5&eDe5Qfwzz)B@y*`z_W)sG4*bVNFt15wMR^e)4m1e!L)GqR} zB_w_C{vroXRpx+(=6ncNX*dlyUT@TZt<>78jj_ux|90v0D(hd9KX2R|8VVN?=BFhwxuF*f ziFN#e8PMmqYP)#!Q_AQEG*cUCtDf6nROwFZa;&P%gjy=wGN9d5_!P%9s#T2>7izaT zBD#SOO|K~2UoT+$VjS5(5QG2i>4aY%)Mpx$(c+~5j*fmO>v-|JW6f7K3KwJDj&K>& z5?y}2PtKg7%=rZ?n)I|5UOn4n^-)BRUcGQSAnvqv{2o_>nXlmG4;(HF-x{rKejDWF zxBj7pkP4Tz^VjW%IO#rThb^Axw!^IdjXWJ19*3X}i&hR#){t5eT^zgT3$I=NYI_>K z0b}^$n~siey^B^$B)}-78NgnDJZNLz$wo(zF~c-2E`@x2h8JN7+y+joq@n*f)KO0H ziLr{nRKAg){}`^EUFpxvbAJ@CV;`>4NkN2{U8R~a_M$Lre&vMU`4yV6_^$AL53~vO6+X_%GrlTxU%B@_NqZ5v0<{|r zt-YUu;U z0~+8~0F3WfE>D^8hmU2JR&7~M!f5t=B?c<6Q~Iyq7GKgHW1kt+c?nu@N6q)sa3uZc zk?}M;)z1JyZiOD^dgexs!}vuTmLl}976YnKlLew$P6ExBwLYj4cPS+kvp>1|HJ5uV zX>Rt$Nx7ax*ckGS^gREwYx86wuvpFUXIuY4E2VGa^%N8GXPqm4DPTh;q7m)>0KY#z zT0TObX1duK>kMiHK45e^QhPpl{giZofi9b5Tm_MQhO14`2>RQ77$Z^6t%~M6 zc$~6GnvLt*B`@K{WeEbtqv-zyKA@uy0W}0n2|v1TOF`CCo-@@VsXJ@k#S7x? zG%mz$fYRo~a6s+M2sL&<0T|SJTc9|cS(es~IGz1^SLz&)IGvk)be~Gb)x3Z{>P$Cu3U7YSh44?i4&&?Ye7H%`tT;Jm5)GefU=jc5NtIBD|Up}TmImF^ql z+`}*Opt%rnHSz|fPN0Ur-7-yOK}r~$gLu{z=45yf-gBEa<*kc^O=?4%$q(+??`TfE zf8f(m%~jmmQjCKQTTj$bPhDxf5$uh_^6U8GjXy4G85PYgOmC(^ek_=*h7q3aRLev( zw+_6!V|!O>c;t=xhXCC!27ECvy~<3-h(@t*8|w!%?KLy$JBkJCllJ8g9y3# zh)f-?i>RbmH+9^nyl$TR4ZKK6cmuy8c|d}+^=~buFuzuS0Ay=54(x& z5_%O544`;VKj3Vwjjj4VnRXEWW;Hqt2;U<<-%f7DQn}wW@2e1w;tf$o(84!Wfy?l z{Au@!4VttbBytk0u-K4|S+li|J=YLfcB-BX_M5sI9KR0Wqq)Lj0=d@u_4h z{Sh-iIE_cuYThQ3r}~f2RxM(hCvF=-jVBg4jxojsgw4t^_F<{FC9(#KT6EjhQ$H(b zq(I-^%Bxg9L}7U^201b+AhxYv)7^5HCdN>OhmfkpT;N%PFukM|x+|`IJM>+!h}uoi z)IQN6?h3{9k=XmhfZFI@c4syjnt>gW+DEe6)nj_w9BANXTM+1#VPXii0VXy{9ck~%7z=_ z(}Pw|K%rOnvZaFmT^NiD1{5zku>l1yuXh_ah|oL!sGl)SPD;~&vJbf639wG3UaB*F zo4l7OT1_&nz%6VGv{5EcH5XU6mb%804YU|`eMhs`Bv2Yy`dO^a zXqEf@EBgm=@q#01mev%&QLTByauS_Szu;2pSR=F=*LX(MD831?^Ca^u<|YW?>3}Rg z*=3=gTSdIGc2qK2S6Yo^-@RAT@l&eF?Y??B-R5iXKwwmr&e+w2ui2lr{NZ}X)Cqm- zjmzxPdw>+*$7Io3N~)CAfPI=!X{#;x^}ndfR*y0z(_rT-40N%B0_q8D<$XWK@o+=&nVr`k@Lss8;+V;H$p&-{O04%Xo(c4sR+)CL6bK4 zWYh+!)6Ou09NY>ph+GSY(QXo+)se4x9B$xaUnhtJ{fel0rTeaZ*yiJV2R9Lw^5_TK zP7)()#tLR5j{Jpmsvrt*Nr}Fo1cw0t7G znuRA~ZPC%F_F*o5*EP(10w3h`Q9TM%lcueYTZ?l3Q-H0|+q0hb67sE`e zL^_$)(vParoQ8(4^8+Bokx{&h+!=KT_(s!1aMlpZpCO`3d@+!0PKc-nGIB+PK?BC` zUt&$;{LlwbA>wL`7D6O@A!`Y)`z$DyqF}T^c*Wwd#%sFCKGh2fRO>-UP>xysEU?Yd z*YnQhwV6plMApIvk%lzWO$(WHUGLn7WTxY(+$~E;DBC1U*hAc>$Iw}~|1|{h1p~sO zs!mGEhN$6%{;iRQl?fx%(Ex{jNv8{VtNN~^zBwQ(Kx*?+6wIjIBjozo=@dCU(O1pBBBtm>5in4kGL*klO3JvSTut6G^U zsC%lD-r<(}Xu3-T6jf1a2Hm9Lgb5R;S?tS8aXF+K9}Dk!&6#`wCI0YX;PwY1FYxA| z``tpao=AM>oJB{$qLvm72WCQhZw;s9Y#0Dkrw_m*A`3b6oVk{Fj8dPPf}tJg;st^F z_sFWz5XI?ug7JzsL4<;Gu=7!D`DqjDXu{E+LmQ(^KB#wp{(v^A<&s`$i|mG1y33kJ zYzTJ`Y1r=jG}nMTL_s-y4W%h?+N__@ly*JsSKG7AKA`%rAC&yLv62A&_XM)-31$}1 zm7}c@q@5Wkm%uSXBaS_OzlxU2YUFA1)BC@AJV{ISfhJpUgcogq+WlY4V@*YR37rZ#~}}!n?DYyF}%- zIc}yr`h)n}t&rpTb@=3qH%+>@KR{r_TH*9JC#uG5l5^63j2Tu-M5`Ysa}`qiH;KEj z^G&rIE;(~@zhxS{lldbTYZ%DBEefV(2U=ID^ z5`nCsV{v4j;L_g}t>1nAfYI704=;ajcrl1wWdR5F-s z{~vDkuvf;`X!+V)X+j#GT1x#5@9vg03u0zVu1|disR@)4 zT9SXav@#3Zwl>Gr&N^fadIDHh_y3qiQ`QHF_?8;dz)K10GR<(eMkf>B{|3@I8{lLI?O^FQl2BIm9fS|I{W-V%5}TA*bezfka$7@6wZADU&EvY4ppdkpF} zFev|jjO$ohKRt#j-!aQSL_r zd`zz!M_W&~F&lN7<>+9UV$ppF0W#MG`}de}d3I^N2A&uZbmFR%>t%ApIUePo`ecJ| zAshBQ=1LR2vDtsHK8B@O9?}rljT!XxxZ1obpc59XYC|=cUQsOrD=4qcBcP{FNm#5V zb^x@gmFOe19U{nWXIB8|uRSAvu`ENqq8UZ*C2tJIfkMlB6fQ1?TFNEp_-OQ*X-WvBd zu>_2yV0gt0NIX@~DW_1uTUJ@T%M6+ZqxfQrixcpIV|~bZvaB)!JR7mhqZ6+EJk6Lc z-XV^%PZN|7Ht6qzsJwC!cp6`ri&n8hh-1m0OA4Htk3h3|h)cBgDWu1wuAwNCZF%oJ z&S-go#plH0hO8h!AFRSHBFbvYfDM_MAK;a-)*f~o zq>;q#-I8zX@qC!U{5sckZ--y~;LIAU-tK6YD=m?r1{vv81Mv6(?(i89d3#GsJNxI9 zk0N*KSydd%497*|z>_AHsQHnHrE7RR>dXGVG{;3Ch+hN%8;{mV6-%w4ICwV7;(c++ z*G0?!Hzr7Y&FP-qFuu*bv^2x%QKxvgl|kwg83wAYhP+Q>W2@{dO0v02C%diXx8F z&pmUeKVZWHTRx@N!G--}K@I*Rls4=i;dOF8T=v zpdDH{=HfJ9{A3pY8rFZS*+gNXbbc`JU z!|jTmfEJjoGJ9xHTqS*LsV6;zo9l_}MTQj(EdSNY_mal7S65j-!2D>uT7dH){|71} zTaxJ9_Xb0Z9yY>S*S>tL@QrP$&K)*qjX-!s*67Oyhrr{2=mo!VHtWrv@egb1dW`=M zdEQ|4?r@{KlzhlUa{d!CZOVc_U<6FLBYE>2)Gfc+Bv5LYHVstO-U&1uRh4J{yQRO) zqTY7SHa_iQG8r((8atHJt_W$!5t}Y>q-5_2<4*n3zw_wH3?B575!cSKZO{S?r zkpj-IhU6u-K63S}(2*z&9Bx_qX!S0gd}!^>0uekgA8HV>WXLdEtJ1VgPwB*3gwxfh z=JH%)#x<8wE-(k$jZ5W+iiK`RUSo{XgOPw%Al0_A;)BWBQI*}qdnc>jtA~+B=Ie1$u~=xRIJwG=L8 zg^5i3KQHYljSZ}$hPyU{-qAcQ{3Ig>X8w*ym3-ntsbkM+PV~tb&yv3#culAW#uS&u zsT%*OIc`Mt_U^>E_MWv*61_S}ff zt@rdns$9|wYIxoBT;X12^Kic^&1~0(v(?4=P6GutoO%Q`30lStKuTo(x3pwh!XNto zn)>RnsJiZL=?;-Di<0gR6%i2!M7p~fknR!z5drB2X~`jnovcFtlh zg9ya1LdM=!yv^-EM}W-Fl3ApU>%2msA=^KV)blEBah-y4Z&lZ7L=y^deMgw_ruP1K z(A#UGofRqJl&S&(Bl^{E{H7{k$%!xn@>uwE@w*46btl z6KpHyOZSp=Cp0gyW*BbGitV|5QqQ!%mR7qzclqa0=HFw+c`NdY{&xUE8`2o5^Mo#X z%BUM_!2H>N2`0fddaAqyuL#_SNXywYoPZi_#Np+WkkJ-dpd7jAl$3#45%w(_=Uc13 zI{n+^sH^L1D_6ISgWAvXu@!5?WUtRfG`c_w0RG!p=x;zHAzO%V5A{t1wHzFaLuDCZxE1uVv-Q%e) zBuf29GS|l+hw6bSCF6g6d9$*mnI4s;hf9vdBre7V58>#u?E_otKz)`e4bTxwnpT#a&q^AD=LdBe1!7;-d1dpSjR-lJLz%<0y@Rd2B(Yu zWv;6!fjmGEqW4nXcdQbQ0xA}RCegQ~1k1v_xR=5f2^J>=F2o$o70UHMnYNNhv(p+j z*Mbzx3@m%uxp~{H|Aa_}q2PDO!Oe63vQorpkKe^Ck?f#X)XuG}COyjesPf~?%I;~2 zTg47d-xcLc&>D>J$M(DDJTG8dMsyh(c!PJzSS}OJR{)M~K>jNn+e}O`lxKJE>`ZH@ z-nE{7`^Pb=7iC^s=3U9PSb_sRyb+sDZLGh;P@@7LS7(Ph`iWut&^xo{@RlJ{L5r0_ z;NXVT3eKwm)|Yj#eZsN)F+3LgE!hDL%%S)uU~u;$w|A)b#U`njJc~y|LE@I=7#5;}TLL=Ky?xgrI4x}VpzQezuJj+qULqvC+hqbm~V145`- z&3Cn4jEVBlbIO1Y;>=woIX^1D|6P(wEA&wGKxL_2Pi8p9oIrMiE=e<^n92BMkOP`w zJP5@z7EfM>E`1~mTeS{LpoA8OOaFGMA*^?N%kywN^*x%=ZaQ|v*` zJ*xAa$CgQb%aMt2A`07y->^UX>R{1gL_XQYRjd1Gx8hLe>yNhB*SDp@zlN8I5*-2F zXsbt4Ct*demfV46FRlv4;Q5H+WGf$%73{fSsNAwTu|Kuoaa#rJDBV%HD~<`UIKtfc zc8o{2rUqlLeuxtG0%C2|?jL&yCPG;F)Nzrs6ZGFePbDQ^03HvfnG{AVS z-{8^01!5R4V=ubc9~ShA;i+$Kan)mYj@{yNMz`$TSMd%`>IIsMcM?2(EERVff%ZV46N4hmr&-0F2%chlOu@GjMc z3^Rp;DMz+qjwk0q6|lMneq_ohdqV^m1#qH2Cs7Aq%w|@kPUGq8^8QC@3kv?C07v`@ zpp3hXn^{4T^{^_IYPzNnUw>3ghPNmA`mQyY=j|BB_zom=@EddjsROxqhl!nFW1)nr z^g0)a_usOFMqm3?71>FVPg538a^Q7v(Jo(a-OZ^wr`71Su6TG|j`Ztp3WlEomVZ4C zM_P)a0B2p3=SjaO9O~Mo4s`?r3#P(wa+{@%2A|j`!D>ikAh5OfPrrRlLj6Th++RDn z1jXO@-Xd`J%Pqfkcd`5V{D$O~;D)!do^Nd-(rm+PCp5}vP@hXsXa}=kt&tJ|I#z+O z!ybKKL}u;R@)Iw6=mP0HD6xJpw%T{y@tSb;0zP3BawWew^@EFuLt(()?EjzNCIzY? zMO{1GDTX|)gq#*xaLuS$spxpN+?HA$gf?v7%NXXZ>e*IntJ?2SM|AZpF^ekf`=}u` z?dp4FSe!E`MtdO@5=iY}v$ z81906>djZ}!kI~L)ZII&pEneCf#&>&zrylZ-nB`H3+J6yZG^J?<5z|5T2sfm!<1)j z?Na;V8(^BRxJveOLrz~{Ci|jjsZyrmEoCtGHkD^u^6nctRZ1+=-gc>`2bxfRR-Rs{ zy3Z`ULCE&cy()ss{^-$5HaCT-?lDlp?1u>1u_-9Sg@pw=x9TKI=^6TD&`7{aaRJ37 z(8gGd6u)}i6NY?Wbe6>3x*xzIB17KY8*Wuhlf|>^P#hfr19zPzAx|{4itw zdVAWN(*{Cu8xHHjC(63IO@PIZPGQwF^Gigc-3R(vQb4|`DzW^wBmL^#>*6ultG_By z^}-ri$WDIS7B(-MZj$UYFy0+@Eds*CR;lJM3V`;6$G?6uh?H#0y!!o-w>ueIP+k#~ z-hv0yuRGoSti$|e{4#zhc#@M7oBmTNgZDRb!DNQ#)7T@TRJ6F!oOV2rs8Wrs(Y_s>1|a+VXINlnLvd{*3(}sOFg`1w*je!^bS~uj zQ2-}9G%!GSSaZ#P&87iGoUbZ&~Q zJ0ce|R-$AFb<^ti%~h+%MsS|pJ|5muAOOc!P?@+t#ef3E#&aLUY1jB< zGtgO#&~y1t4OJTsyUsse**kr6gDcNGO1U`lw!7JTWR&vemy5l_1z>>{#aXnqShF*i zBV;^!Ujd58z7mSKX}ym;panI@<6!;3Ooep6nu-^(Kn3ENGqpduSO*;ql?=JI)}QPF zTwx*zUI#qMU&ix^!x;9GUnHDX49YVu~wLF zz!~mmL76L#UEG~J#f0aD_??4XA5RE8lkK6GrO^M^A?SEBmwIL(_5p-{!^rQb@D4EtksD8>_U|4bV~j zkrG@3SuOZE(t!8J=uL}eDuNGE-uD=*d(r<}Ei|)p%j0=ME~8WrXDJ{E;=6Oms`y#) zZFSpls#cZjrD+it4w#;zyMA!K(fyQ+)ppg^1RY!vf@$Fh9$|c%gL?uOCb+*6Pz(#r zdG*Yjrj2c??1P#|>E#xi$j$tUMg)U->{^-TM# z;<)B9r!1UZCX+78xTIA`YBae(zjtX}Rgpy;b$qR%{MrAaaP~)#FEk~!gG%6>5H*q_ zqqA7N;dzewtq05byMfXpKL1l%N+M==Bx0seq~XF=Rh8-wKp%B9~ta2~6AWOWI14->QW1;I?v(U}Flq%#Kt4!ET(+u8F?IdvYnA~}< zUt5V9kD8>(S2pwbdbKFhKmWw36*@#@u+Y=yyBzo4_47cH-@G?tgUy)GY+8RGpguUw zXIV0Lw@oj~fLn4dth`s${~EQwJErH$+{L|Qsq1M8JikbXU2zLqme&?79>FV=d6Qo5CTC&mOQBE4t}e3`{8+`$ z>x6z-a+iL9%D(aE{H$)hv!d*?{=D{2GXaL*Pau4klVi;O{_chwIB9NccnUGJr$dyw z!$nC7x@n(>PSBN`-+$N`2yvlPj2~=Oil12#&^)SrEId5wrfVvcAt;hw!zush@?=v? zaVxf}6hW5TVWpcN&(_tydDRS^ZBpuVXHxJ=Ma-;3H;Eaabg(GS)z?RRd+9n(*SL6n zKB|SKFU!NynM+0o#y-O9YQ(>9Ury(lM;Z<&_vH3$7;Ele_cYJg^o6oocS}VZy?1|Rp``HQ^|uJScj93!NG~)IM~qkW_n0;sUil4{m7M_?+kf?{ z)GOCvJ)xBzo&@(0x>?`VRmb^TG0mLecZi7;bycXnX~k01`)yO0Bfd0#f*2a(9L%Jh z5CVE#WnBVwL$u$}vMhi1zYPQ5uV}1?N>P-&bx&?!~9^g1i z{b(j9u3NzL;PNGkx10Yeri`Eu<3H#i^*`PQImE^H`+9D4vvft)iWLGv6ab786YI8Y z3;Vb8O>6QGiOdb8-JDtVg`Vr`v7KmDLw^0a7ifsMIP<~u6Nvk0(GP-8?@rGpl0|VO zC*~t0>ZHGZSiwLt2c|xZYrivZLD`XVewFs><8o=FL-5xq< zFfm?~#KpDdCtX<;52fSy)Mj$oJs5Q`daqSmpCft5){C!ilqX|pdbPEIOB#Dl$*pE= z-so#z+thDKp0pA7+c;qBTo&1Ud*5R?xPn8N}_vgnGTwDB??LO)1ta9CG zJmMo}90&6?)lW{wG=~i|v$pbeUqKyNO0;~{cX*afy(K=vr{;v1tBMFcOv#CoAP{3jZAqDgtTL>YnYaY9{V~wnuJh6zHz~O`Q4$`zglN?W9&cS z*HtYNop;Je{7h|KWvlE{w1n{%j_$LgLC2rLMaFZ5UX?MEg*%?C;KFw5NcX^MgeR;F z=;0=#9<}ow^6q%hifOhnrCDmy<>s*2* z%U41-7(VsUiU?&pDyFj-+a=efDKjhYqcU0YfkYj-I`5nA;5-dQhPMf8kANQhOg(8Q zHywldWv-nd%^Il41FcwS6smeStgwklPvuk> zpM0m?6S=Mf!S2@L>^SUQZ36XO5Ya&_+3B!p5Vq0%_eu&N%L@isTyV1Bu4R~hm%cY= zblRI-&&xK9YkCJMyrd6CVY+^k3G4E9m6s5O?3W`CeN9=Qhkq{c85id53+0_aeR!M@ zoK82Atk^JbR5ebSdb|1<%v$@I77X9#x^_a2L4 zO2nl;17B0-;XXdvG7jk|aHUh^o>`$%A`z(h7PVYOTCIUP|Anychpb|)KZViwHE8=( zI!|8v*7!hOiI9mNMV8pE=f3lq9Q$+dLd4kWB}6-B4@2P{lhf-(5Fzze${m#*2x{GR zH=-qtzm8>dh13$pbcV>gHvTAM1*06Rzp|uu!DBfdrH`l_lYjkPLwzXj8;qh3Y7?=8 zWGRh*v(U5Nn$}v|p3yq5d!%UivOw~xt51?AgVw@qVk$x)OzHXA{#=~uu1}UVCrNou zJ!NJ{dSMvd?_Nuus&AvuJ$}Y##=|`}@#VR-6?HGKGc2U*AiAR-fnviWE4PB`_sY~(kHl_;IQ@ZjiIeJ*P1m z)CkL&G_Sp3RWPZ2;{)DKiO6UN4Tl>UKhSFPWz5#Xmt2edf0hIKoi{i5*jr-r)#K`W zTKA;hiPy7-Phy{`O)BPkl8sB|wFTXX9%}nfnAZ6!I;+JmtjaeapqkKP-Fk4=ZK^ zX;;9(zGl&jH(h&s67<67QGx8>f)>-FrsMKXQLO{e`G`30nt1K)QZ55U*&$`9^}1jZ zNJQMU*QHYF>KbdYYUjnhc`#>G?j0O!M<#Cxj9z^q%RHU^q%ioK$-TCa$M#+edEVj9d8Z4yl6_JgLFoHD0A;?S@ zYB8Gw?se|Qgx43GVH2#^!#9aY*xS%~)I@<&40D*HUA?%xCYoz(+|g)+oZq8~(*tXt z5j8!PKk{WbEei4l(QxbgNrB(Wt$h(=y|Ugj;M9QhXjq&Qd@V`Gp0?Ofk#qZH*p1S7 zo1z%(PL=JzT4X8L8e`+`Ad^B*Aw--&1& zm3+9+vkwDcy!asF?;ySaH0?=({1Gw5lY7lI?K+|&;&MCV`pwI);!G3!RDAO&bgdUnl zZds}KC0xAYxsR-mEz^P8pjExwQr_L~4u#kK+{v$~jC&>6Q?Xp}<@7LANzcf`2m2GB zq?oP8g%UyP&Icb8*bpV_^5-lsHN7D8-Gx}YwCs*%>x0$5T)F^FZe}rpc@lZzVUQX@67 z{FFfjHwN|M)Y0(X5S+g{$k5O;m!a9W##7Yz?XLxU4u|T>CQFVyr<$#0J2K!|3Og=| zuiNuK--+7Ysf>HvZG_p#5>h?b8+7OiF}NLDB2t_ z6#FIB9Ftk>NH-i9>Syu9;Jd#K>&e&C(FzHVgNrMatisRWX3ZqOu?M0CkB}KM1GZG1 zg3S)hw5#14ILW%i&Wi&Y^Bu9uJ&JR`ZAx?4Aq@Wf15wJy;XjTO?xvv$CU~B=am`n2 z>h?yPk!7Gu3-MB?@OnLXnQckDXt$Q6o##40^~!Pw&f#Nqo0!GF`f{IMy8XuY>Nk-! z9hc;BkM&Fux*bep-=w0`xS+NoWqtb_%T_u-C$z*M9QPW>VmSr{Y-dc=NQ;qG%VuCw zpc$Hs;abub+Y7P$qQhSj?mW@=p@(^ep4U4v%^k^(zAhxn((XWr$nl2Ch+HANs_a84 z(Rhk|oP%|^yi)@WC0Q!xVaDD|KyyAQT7}o} z+BPKrP-oNjJBY*#3GPfZE%@M^R}ma+*$FOW&pod^m$3v>3%apbedRMJFbh>spQ7CC z%i$)sn00lPDl2(D=lIC;{of`hzcF$&WZ!BwEKfrnBW4_+fF9taT8gzKGz|~dN zVhOJ5KrKaDmF-pl6)#bXwC;*9Qk4r(M*4CHrw3gbBAr5zK3lnElY0Gy93AWRReRQr z^y}sA)$Pp05+o;hP{)KcOoTWuwO0o)YdT16)$7gpk5oXcnRA)!1s8l(?hcUPri^hu z=t>}T@IaGigJ%lkBVh`SV$2J9$k&Vz8$GvEk}L}wS{T65x>D1}XS;SFU)k+LSH6Q3 z;icw>KM9r_iW%u<_DB9HNRV4nn}nP-SicjmbstyVbKUal_ZQ{QWuK~5$F8esjx0-g zpe`-Kw{+P?c;j(`e&cg#(xIeMg)M00E@9V{Qylg>6P^Lzc**KHj0st-DbM5X>I6gT zblEML=tyZ^>ISm|EzV#@vCC|>&OR!UEiFTmgQFo_P|TCu6^k&JzBsF9?Z>E9L!HOh zx>gmA3}#-gSk3H^>zwab&Uz>hvOvNsEv#u_SYY3V$+m0&6A#i!k#bauFBKFODTGk; z@(Elid1fK{if3!M-}D_eXEtRx1!}}FNjH@ygF=JAdf?)8ee}kl{&EdLp@^jzfgZkx z^X$v833ZPCAFvEmhHn(saTRomww>R7h3j#nu0BxyANVEpW4L_Mc;-q>5+E7c70 zRF_eTN_?CDtXfEM)Pt*99oyrC5-czVc?TiPOHIq~^`QNEemZ=s%U#T(GBepg(Os%{ z0hc)Q{@V0vH?!eqro-u3xDD~2I|#z9*bAfO4{G96k;(sE+6wOhs>NtiI|t{T9TU1A zqL(i=J+qKrAkoOdLoDBbGbHCSDzm^q&)3e7N`jWXs=1wjKYH@S7$*%VLzs3A(r9~4WPfieu#gxWb}6DHpkwl;z1S`Sxm_VAsqI2cIv zPhFafn0lucd&>U}DS=7x)y5qqK@v9mRtg{L0t6e@I@C~}Rb~0_>rOFW@@{b;A`B_1 z(jEBlE2fodEy>fu%pw};eWf>IYHrUOwJ?%CdODbQx72kK%aN*F`+_Gj)6&C)Qah%O zmk(O#bDoKXtn&2`y;?G|< z_`8)pX#Z9J@|cvFgUvg`-5eZ_VQN;FJ?m75k8n{|kQ3kGuMy>Rxeb|JdGw?FhP}hn za(;eJqFWWQc=s+s+NMkKX2FBG!sTEXC$F|jq!RXglgm=KYqGUIskfSl_RvwOY8DIrs{4D|y@5@mFkE}4 zpH5fE^-bwVi5(2Kv^>ANq989ZS>1kxLyQltz|(FX)vyhIQ|Yhq_u2)7_)Po>b+Prs zAxy>Sv3KPG65i(%&X&(FN0)+sO}dIrT>VD;rzZg3vjj0(<}MiMmCM0-^a|1tshQlv zERb#scY33Uc@s-BgYQK@?J6fO#@~Pc`lLUu^K5Y}&^&mMLb*TjGj z)Df6w;=r)Plz)7=_*tCk_N#_@K)e-uQ!LMASF0}fS`?qS{scfWJ=<`-y~m8VFpLQN z>xK(;q+|k8;?Y}sG_=8-E3F-qqS&cRDa3Wkte-p|-9kzfyv!Hu9>JE4^*LMO=;LCA zT@;=)oSQ{{#^x9S1yWY~J#qm0Z2>??b9!Ht4O9jmXKCeE-xBPqX=Gk^u5T3D%`Pj<*~={D z%tb^`^>BbQ#PfJWR7Q%guXsaV;E!jsw>LqpUD3FCA0BbKLbHF%EAZNE%dEqJLzB;} zJbDUknQWvNm_BsXk4$daskXFRrV49E4ewZWyO_QTK|F~8tScO+D-`p|W{5oly{gs+0l5|oHoiNU0rVWz0*h=jy(4yuR1k#Rs@}F?LvbeaPkBl!{{_Jvk!!-#X z(?sO)w}eHX)S#xF&i+u&TmBiQrbo5kHISCc-f^w^0jlIR_0f&Dag-&{5a-$(*nhpw znZQL}F}T=#PZ(ON^nOJG)3hplxe^kV&YC^#bF;5dh#2(sxlZ}(r$1HLW9 zki}&nU$W~_Lo3z8r+NS0S`z!_wAQnlL5LMg{r*diacPmv`qEGhhGNI{#K)Hh2T!h- zyS^^xCDmM$F*fJL_Pc@y!Mb^&7YgP(c0QVUnRU^No_4JkKO1y z{~`(hDLIb#6Y^#I{o4OIMLsdLzAFHJN*z`i=68} zuihfX=}qmt#p1A@Gjeg)OKrzH!pK39NS+&Vuxi>ZXPIpEFzJ#W&L6Q zKJ70%>{D5U3R9T7oBglr^i+^}NmR8spxvlgg-^03BlrNGy>Yc4SWA*fwOv%%I`+{> z$n{cxER2^~S5E*+SvSp&+@=uU5BcAs8iBCIwrGT_mLkPqsgO$PK=1Q)ZLrx+h?BIN zYN-9p%6p~|rV7T7*3Wf0@7TZDV)9#m2X;Z)_y$WOBH{Fd3rt^PLWRN3`a9><2mR=? ze6hjmE;7lcg7kUF_~mAeK$DZPpf#dtW+T5gE2f!CsCrAw0YM%4-~LA?Gd-W1vw8ev zKPZY!75;b_7ug+5q4Z^dR~Y$)>6v>?=Ec)t?mvv^(f|^c6kn3OFp@0xMcH)Q z#x`gCnHj&18R@6vxQPenrpw2?<=@p4lGq(bV?_E&C~~N9D-G~9m%re|mQGA(N8%tk zB=nuwP5!SLLengL-T|$3bZ`)Gx3eEJrvyvm7Zq>K+iJIkwVS-RaVew5Knzh5*gu85 zmWLSVb4;sk=1Q%_ zDSXhK6+UQD@~v)*)VqDJM7oiOeAQV|^7JR3pW}ASa&7nC3_s)aXjUpX0{rAr zP>uj+2xuC^R5RIGfIC_)k1k!2fBSB^6z-Iq$K*hkz{Bg6^VKhX+!oSeQKA&Vz^&?>6@x&@F)yCFQ{Iv~ zL+7pQtot-MZOLri6`3Q$2VhgREO@&ys1$5P+A8f%nQ1rFLsxyJqmEU{-qAe$qBVlo z{Az<~V{VF2S=v8MB(#%=Ary0NM5hA`VDb9#eyIING`(atR7-2Bw~iFVAC2Hk_r;o6?UJC{NS6j@x9W2L0E^VG=J-PAr_=iq5zUrHKJI$7=KKS z--UT7d37K35FTj0+pX6BtJ8pl$tkuE5M^$?H8Xe6y$Zdu-=Ja&`&@(O>nhGV?(PdE zJ(!|M`M`{+=ce?9%HR6v;1~U^-8Bd392)0G)%t@PXIzFUJ56{6Yg!72wIMafpP7cK zPljkubex)JFQ0@>&yG$}FXDIkll_Qx6NmIf^S&6S?}y^kZ?}JN>u!fsJkZRo|-9o_*to8L1xdde-< z1y8iHQ!y5P|7$g09Z}2Ps|tyH3`VrR!HA+BpZT9fv!&6euFbVcst|>Fg+3b9*fKY5 zd8h1J)lwUH!&%)93TlrTg*5|kmmV-)K0`Y7(G93GDIjX94l$%_S9>ct$Me|okb!`i zaW}p(Eex&v=$+RU?)q6>mmVXefKpUiymjRB#m%Qmrs22i7OM4=uNzE(tB}WyKS`%9 zcR3Zp*=DyHi!(8B_fg&nfsO~pze(Yxt>;n}*oWPCAata(( zQ}t2Zp0|fe-9Y5;nOnK6JoGS{L-h@h4adtuHpe0TwaK;a>;QUn>2UzE#$cyw$uRXU zvs(OhGdiVwB@{3AB&t>uhhx^Z7im)ayLEA(eJisnP!JNQe3-a$k~2NbP0U#=kluJ|ocDE4pt? zj*g`zN*kzjVcOo;2V!=U3|tcqg8)N)ZiXJPzRV|NkbkawIgAj#+?%74eat5+Al;b^ zn2y?%Su%uzSunxNWx7TE0cF6=9Upn%DKDd~i;W4BkX{*dUx(jDo)7dx+_C4%3=_XS zbgbCnDdkFEt?m{~Xn4Zo_^8zD#ixAl*kGDe{go}M{w%J&67E$~Zvrr95YF_>x1~QH z|2}a$f3yL(ZvL~~g(C{15RcEDvOdNl=8-q+@Ceg&G z033ywPqd8JM~YzOldv=k$9Ap%^+XzM!lOd+leM}^xDbByZVg438lw;CSqzkKoPps< z1B4Ta+o)UY(MzQLwKiDG!Kj2Qjd%{DI3f1CE)7?I_%BFw2D%q@u&}aAE%0@ zuOcRE#gUS}$pr?Y#&z(itS%o9Zvuc4R^SA~z|O28m8~2doE!@@5ETNSbXzo#W2^_r zwGh+=G1i(o{0-^UBmTRAMuFefXXpuQeQ7!*TiEMYdbHl*PNA425(TF=a&RWPYMgbQ zpd7TBxhn1=jC;R7D4~2Kl?jRSP?{*ni|N(vM!K>t*Hn4 za}|E@@C*xI=NGY0b&|y?9^Xp)j&*!irO4qi$tlRlNW0d(@db=FnT3H;=Sr)%b$Dwu zHS5b7+i-p1VB#HXFsJJPs3AH*miQ8o&6_@E{N<1F{gqoJlY%G|Us%q3Gp2D~_v~uW=LqnAhyE2HG@RTCn9D}c0yaE3ApK{%WRd`^Q0@(Dp zeUU{0NPok@^tMrv`Q(9M6xB4e_O3=YC+x+iQtcAeT#pRIADi+p{YJd+aobv-0!2bS z_FQmN9|`c=Uizi#_~T{HP0A%I{R_mQp{z+`S{B-?&Lh@R(8Fg-1c23*vs+_agMLCP z=)00wI6F3S=7^g8{6dUu zwf@*Nh0+|ntp~i3xoG}32u7L1%U_mZ;bWCASr&B4IyQ2%#)8Nd=L>DP3iq)zaF5rY zMl&tU*F^ty+s@%K=-){!P{Z*iunk9I`6z>Z*4{#Ndzp;XFb6Ey7w#5w5k1hGUFtg&4>%5E$t$1prM25CVBI%2oGgtPN3m}ts zBe2P{r<+$tyX1Bq&j7PTi433_H};c^K+)zMcXBVEY0KvCM;k0uxVCKfs@Xx2^rlSM zr|c(Z$jcZjGR_jN>$8@9knn$-Qh2fMfCd45q(mhmXIssj{P4Qp{0tO`5|M!^Gd3Q_ z%3sxde8?9b%zqz9HB+zuZfja@)FcRAm@%nQ^Gw&v2qRbkkNBV*TlgC#%4H?E%2c)b zi*gm;<{)a_md>)LdGk;TlwXUk7}qIVL7)FFv#YozS1-ri5Ed%xWB~+bB`KggjEEwx ziJ;*3alHcJnnAU!rdt-u(10E?oM%E<>SpG63eExAq~itd8@fSyrWwWsHb!?4zuaMfc%Sgd3-s2OHK`#r}g zl{q;_bv0A|_*Rl9rfCy`-BMy}*P?H0n5M6@ewsxpkz(uM5j4s&tg8CjGlS}v8QuqG zB_D2_d(Po~hLGWs>x9SwZazVw!I+RT1q}<3bzL7hI+&UC{G)x^xMs=)coba<@_yEcTA3dR8+J09|Cv+2%wSG z>r{B%%tr2D*+vQ4zG!Zv2qqBUzOi6m58k9hGwI#EBXqEB{ccd4zeURV|T zpK2sK6`UI{_H(I=@F9gs)p%U}?uk8HtIpcV?Gsx)G;IM-r2om0G`u}nk5zs{tD9F< zIfSV_eV@BAqCStecbURWJNw~M{>=V!;pDhUP?s20$E+i`q3qmkM zESH}%qL>c8*C5a)0Rw#d>9@cyXvq3U$C0yoH0iqQNgXG$?BoiMmYm+I?B(^DH)dru z&`cQ^{%8g96j&25SJ5GNBsJ`h@X@K)$ zPRAmxG6E~k&4~@unv4@I;kjgW=X!3h%WP;_s1n|qJt^Gc%ZwAXn;V_|xjRqP(3cM+ z(b)2qb%M>`w}3Q-leENv5D!(Qcz6Co^CJa8EUD_;yLF`#f?v2^QjZ>nJz^j`h>RqX zoGOTdi;@M6npS}{mo@vLy16m*&^_ShHa-SQlS?kio4)t(c%EnkQ(v;sWD;lhk*wv- zIMeonv?v-Xa)DE>THcT27i);tql>*kGQRKtu1|L(| z8Z{Iat{~M=56*#GH{so~wQnud8VQAzcvA+NMdDM++$HZ%ddO9^r4?Sq#5q3U66Y+{}3BgsL%s{BuOth5auc;zA$<37SAE0xiDQ3 zSYX(|*ZXyd@;*W^{n+yR!?ZS5mr`q=q2h3>(x;$wYq&4-{{7tM4{%4CQJl-CAw-HY z5(3$U!czC{PfffLq+A`^A_a_V(Ynh7HP}q9L=}9Q7TheS{(g1u$9?Z$l9; zPCf}L*`m@5+xydgPjh4KZArnUxl98-p1>z4CeMkjZa^h%J3g9;i5LM{iy>%@1wK8X z1i#v$NG0U@F$Yb-vcN|{{#}gu(GtPQQVQI|h}Q+r2yhfx9Hw$F}_@JuLLVc2YEdisY0a@;a4-WDgpY;QOvy^MCk#7wv|ff|*#n zctpf5Q`f-#Wq|FB$x6H^dSJ`XlD`4_j%+UK=Y?v+8>b_0>@ye%DhMxGSA{MKWa|xWR6LKx?)8^tFS7WH^Q_pn$$b*ixCoELeINkwdjfKIMc+f)_S}b;y+yhebfNWw^ zm^2LXgG|lB;f@wSXEE{HYJ`(@u<#3oLLE{APgvFLy`i0*6Kjeponh!{E z10La`bUs|QJx|KXvd&LD;Shlx)^C;w$~hlmE!74t-X^E$&&W9MAB>m(x5{XJr6=lF z5CO8~XHojKwiaQxc#W=3?%ER7wsbPZY1z3Ewi#F8&c@FWZ?KJS|K@Gb@uU9~&oDoH zA&0gg1)IB;HVMOxeM=Dks~1qE($4Dm-J-|SZ^_vNsL^l^`g;EMUmyHDFK$DFx*uc* z%hM#;Bl5cTKmRHkSP%FVh(qA?G{yecWOhkO{i~flrN~oD2uDRf>d>eY~((;%716q?asIgP&C6 z-uf}FOZy3$KQq4Vm1R}$-AJ>o@5*vRrUi}c0h87q8GcwO*`=L-w;Q?(pyOEeSTNBu zz$4>&OluFQCq3x#8RDgj`m~&E~>QK4iJUof`&u`w1p)KZukCOpi32$gD{fyXwIXRk@8rXfoKfGZ)XlpTgb?ZfePb$n>M8F4n z|M$Z&E%sZ4fWPJe{tsk#4(ORQ)Pz#DCr>fa1D_Hl;G!(XDM<)J{;f|78<-a$fxGJ+ z*rDeI1^5QI1M&aYty4%HaFZP6gin{ONm)cHUM)v}?Kpt`%Z>a6eL}AKPgDcTi;i=+4uxXvNrcxaQg>RVI#%^a+EVw;67+ugB!o)HCqZs_g@!i(O82$#0`mx6b33v($PR#NaTuDa?* zC$hS5-qCv{c&zoq9?+kH-x+z0)wv+#d|3CcDyXA}r`rkQr6(r?{rh&h{#};i=6>ej WgAT2TtPgjSLKvtk+l^w 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 NK1;}nmy7=J|6gKQArSxo literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/goerli-block-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/goerli-block-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8bc8a52bb4ff50e693b3a798d09086e7a18cf0f7 GIT binary patch literal 36012 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ⅈD5R*x5oil@e0H0dnx;Sr4t_md+R5c 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 Hu0mjfX3iOi literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..666ecc09281cffdc426b4f40ad8ac9e3ea6c568e GIT binary patch literal 15325 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 literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/goerli-tx-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..255a8786ccaf6198a9ddeb9d5ab0d2dab236abd8 GIT binary patch literal 32271 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 Q-Q)gVT2ZP(!Z6_f0qXs*0{{R3 literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/koan-block-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/koan-block-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8c952bf4b58db0a2bda5d248795895edd7d9a847 GIT binary patch literal 39283 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 Bfc^jg literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found.png b/apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found.png new file mode 100644 index 0000000000000000000000000000000000000000..7f947386cd632e75c5320d87e7d45087f3280bf2 GIT binary patch literal 17325 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 tKU5!33pw*c@B!b0^n*QqKsQPKw|_EUu(Ov)m literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found@2x.png b/apps/block_scout_web/assets/static/images/errors-img/kovan-block-not-found@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8632d5cc4700afe072920b89b562013b190b44 GIT binary patch literal 36353 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

From 236a56f1a9df23b9a48721b7f85966483a56513f Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 12:33:08 +0300 Subject: [PATCH 14/20] hide navigation button if a page has no items --- .../assets/js/lib/async_listing_load.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/block_scout_web/assets/js/lib/async_listing_load.js b/apps/block_scout_web/assets/js/lib/async_listing_load.js index 0d7f427fd3..dd1b8e4335 100644 --- a/apps/block_scout_web/assets/js/lib/async_listing_load.js +++ b/apps/block_scout_web/assets/js/lib/async_listing_load.js @@ -48,6 +48,8 @@ export const asyncInitialState = { loading: false, /* if there was an error fetching items */ requestError: false, + /* if response has no items */ + emptyResponse: false, /* if it is loading the first page */ loadingFirstPage: true, /* link to the next page */ @@ -90,6 +92,7 @@ export function asyncReducer (state = asyncInitialState, action) { return Object.assign({}, state, { requestError: false, + emptyResponse: action.items.length === 0, items: action.items, nextPagePath: action.nextPagePath, prevPagePath: prevPagePath @@ -169,6 +172,10 @@ export const elements = { }, '[data-async-listing] [data-next-page-button]': { render ($el, state) { + if (state.emptyResponse) { + return $el.hide() + } + if (state.requestError || !state.nextPagePath || state.loading) { return $el.attr('disabled', 'disabled') } @@ -179,6 +186,10 @@ export const elements = { }, '[data-async-listing] [data-prev-page-button]': { render ($el, state) { + if (state.emptyResponse) { + return $el.hide() + } + if (state.requestError || !state.prevPagePath || state.loading) { return $el.attr('disabled', 'disabled') } @@ -189,6 +200,10 @@ export const elements = { }, '[data-async-listing] [data-page-number]': { render ($el, state) { + if (state.emptyResponse) { + return $el.hide() + } + if (state.pagesStack.length === 0) { return $el.text('Page 1') } From 23645570b630b0e2ec0d4cd2c9547e105ef1e45f Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 12:36:57 +0300 Subject: [PATCH 15/20] fix eslint --- apps/block_scout_web/assets/js/lib/async_listing_load.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/js/lib/async_listing_load.js b/apps/block_scout_web/assets/js/lib/async_listing_load.js index dd1b8e4335..e22f6e399d 100644 --- a/apps/block_scout_web/assets/js/lib/async_listing_load.js +++ b/apps/block_scout_web/assets/js/lib/async_listing_load.js @@ -173,7 +173,7 @@ export const elements = { '[data-async-listing] [data-next-page-button]': { render ($el, state) { if (state.emptyResponse) { - return $el.hide() + return $el.hide() } if (state.requestError || !state.nextPagePath || state.loading) { @@ -201,7 +201,7 @@ export const elements = { '[data-async-listing] [data-page-number]': { render ($el, state) { if (state.emptyResponse) { - return $el.hide() + return $el.hide() } if (state.pagesStack.length === 0) { From 5c2a22782aeafc665954051fa2683dafea4f59c6 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 12:38:44 +0300 Subject: [PATCH 16/20] add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9add09bb..04e77bcb09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ - [#1917](https://github.com/poanetwork/blockscout/pull/1917) - Force block refetch if transaction is re-collated in a different block - [#1992](https://github.com/poanetwork/blockscout/pull/1992) - fix: support https for wobserver polling - [#1966](https://github.com/poanetwork/blockscout/pull/1966) - fix: add fields for contract filter performance +- [#2009](https://github.com/poanetwork/blockscout/pull/2009) - addresses page improvements ### Chore From 65f937ebf22037d5b46254a0034adcd81f490971 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 23 May 2019 13:35:39 +0300 Subject: [PATCH 17/20] gettext fixes --- .../templates/transaction/not_found.html.eex | 12 +-- apps/block_scout_web/priv/gettext/default.pot | 33 +++++++ .../priv/gettext/en/LC_MESSAGES/default.po | 86 +++++++++---------- 3 files changed, 78 insertions(+), 53 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex index c51de04db8..c34d84824a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/not_found.html.eex @@ -4,30 +4,30 @@ Block Not Found
\ No newline at end of file diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index bcaa5614b5..7680919044 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1708,6 +1708,9 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 msgid "Block Details" +msgstr "" + +#, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:83 msgid "Contract Byte Code" msgstr "" @@ -1736,3 +1739,33 @@ msgstr "" #: lib/block_scout_web/templates/address_logs/index.html.eex:77 msgid "There are no logs for this address." msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:7 +msgid "Sorry, We are unable to locate this transaction Hash" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:12 +msgid "If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:30 +msgid "Back Home" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:22 +msgid "During times when the network is busy (i.e during ICOs) it can take a while for your transaction to propagate through the network and for us to index it." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:26 +msgid "If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional information." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:16 +msgid "It could still be in the TX Pool of a different node, waiting to be broadcasted." +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 1dd2465781..512d9aad7e 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 @@ -307,13 +307,11 @@ msgid "Copy Address" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:10 #: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:14 #: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" @@ -910,7 +908,6 @@ msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:22 #: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" @@ -1164,11 +1161,6 @@ msgstr "" msgid "Raw Input" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/block_transaction/404.html.eex:7 -msgid "Block Details" -msgstr "" - #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." @@ -1189,41 +1181,6 @@ msgstr "" msgid "Invalid Transaction Hash" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:33 -msgid "Once we have the transaction's data this page will refresh automatically" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:38 -msgid "Some transactions may take a while longer to be indexed depending on the load on the network" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:34 -msgid "The possible reasons for this transaction not being processed include the following:" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:29 -msgid "The transaction %{bold_hash} was not processed yet" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:37 -msgid "The transaction may be in the pool of a node that didn't broadcast it yet" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:39 -msgid "The transaction still does not exist" -msgstr "" - -#, elixir-format -#: lib/block_scout_web/templates/transaction/not_found.html.eex:36 -msgid "The transaction was made a few seconds ago" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" @@ -1748,12 +1705,17 @@ msgstr "" msgid "of" msgstr "" -#, elixir-format, fuzzy +#, elixir-format +#: lib/block_scout_web/templates/block_transaction/404.html.eex:7 +msgid "Block Details" +msgstr "" + +#, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:83 msgid "Contract Byte Code" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:69 msgid "Contract Creation Code" msgstr "" @@ -1763,7 +1725,7 @@ msgstr "" msgid "Contracts that self destruct in their constructors have no contract code published and cannot be verified." msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:85 msgid "Copy Contract Byte Code" msgstr "" @@ -1773,7 +1735,37 @@ msgstr "" msgid "Displaying the init data provided of the creating transaction." msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:77 msgid "There are no logs for this address." msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:7 +msgid "Sorry, We are unable to locate this transaction Hash" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:12 +msgid "If you have just submitted this transaction please wait for at least 30 seconds before refreshing this page." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:30 +msgid "Back Home" +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:22 +msgid "During times when the network is busy (i.e during ICOs) it can take a while for your transaction to propagate through the network and for us to index it." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:26 +msgid "If it still does not show up after 1 hour, please check with your sender/exchange/wallet/transaction provider for additional information." +msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction/not_found.html.eex:16 +msgid "It could still be in the TX Pool of a different node, waiting to be broadcasted." +msgstr "" From 60f08244b77cf3f9e14596447a9aa719107a10c2 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Thu, 23 May 2019 14:01:43 +0300 Subject: [PATCH 18/20] tests update --- CHANGELOG.md | 4 ++-- .../controllers/api/rpc/address_controller_test.exs | 2 +- .../controllers/block_transaction_controller_test.exs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de38e9a542..b37063521e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,7 @@ ## Current -- [#2000](https://github.com/poanetwork/blockscout/pull/2000) - docker/Makefile: always set a container name ### Features -- [#2005](https://github.com/poanetwork/blockscout/pull/2005) - added "block not found" and "tx not found pages" +- [#2010](https://github.com/poanetwork/blockscout/pull/2010) - added "block not found" and "tx not found pages" - [#1963](https://github.com/poanetwork/blockscout/pull/1963) - added rinkeby theme and rinkeby logo - [#1959](https://github.com/poanetwork/blockscout/pull/1959) - added goerli theme and goerli logo - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated @@ -69,6 +68,7 @@ - [#1958](https://github.com/poanetwork/blockscout/pull/1958) - Default value for release link env var - [#1975](https://github.com/poanetwork/blockscout/pull/1975) - add log index to transaction view - [#1988](https://github.com/poanetwork/blockscout/pull/1988) - Fix wrong parity tasks names in Circle CI +- [#2000](https://github.com/poanetwork/blockscout/pull/2000) - docker/Makefile: always set a container name ## 1.3.10-beta diff --git a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs index 993b25fcec..e6a0e7e702 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/api/rpc/address_controller_test.exs @@ -5,7 +5,7 @@ defmodule BlockScoutWeb.API.RPC.AddressControllerTest do alias BlockScoutWeb.API.RPC.AddressController alias Explorer.Chain - alias Explorer.Chain.{BlockNumberCache, Events.Subscriber, Transaction, Wei} + alias Explorer.Chain.{Events.Subscriber, Transaction, Wei} alias Explorer.Counters.{AddressesWithBalanceCounter, AverageBlockTime} alias Indexer.Fetcher.CoinBalanceOnDemand alias Explorer.Repo diff --git a/apps/block_scout_web/test/block_scout_web/controllers/block_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/block_transaction_controller_test.exs index 6a4e2ebf32..b8f6233e49 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/block_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/block_transaction_controller_test.exs @@ -165,7 +165,7 @@ defmodule BlockScoutWeb.BlockTransactionControllerTest do defp assert_block_above_tip(conn) do assert conn |> html_response(404) - |> Floki.find(~S|[data-selector="block-not-found-message"|) + |> Floki.find(~S|.error-descr|) |> Floki.text() |> String.trim() == "Easy Cowboy! This block does not exist yet!" end From 1567d9cc48af0549e7bbfcbd55096184a9d36e3c Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 10:17:23 +0300 Subject: [PATCH 19/20] Update CHANGELOG.md Add 1.3.11 - 1.3.14 releases --- CHANGELOG.md | 85 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae7741dcea..5daf1b344d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,81 +1,108 @@ ## Current -- [#2000](https://github.com/poanetwork/blockscout/pull/2000) - docker/Makefile: always set a container name ### Features -- [#1963](https://github.com/poanetwork/blockscout/pull/1963) - added rinkeby theme and rinkeby logo -- [#1959](https://github.com/poanetwork/blockscout/pull/1959) - added goerli theme and goerli logo +- [#1963](https://github.com/poanetwork/blockscout/pull/1963), [#1959](https://github.com/poanetwork/blockscout/pull/1959), [#1948](https://github.com/poanetwork/blockscout/pull/1948), [#1936](https://github.com/poanetwork/blockscout/pull/1936), [#1925](https://github.com/poanetwork/blockscout/pull/1925), [#1922](https://github.com/poanetwork/blockscout/pull/1922), [#1903](https://github.com/poanetwork/blockscout/pull/1903), [#1874](https://github.com/poanetwork/blockscout/pull/1874), [#1895](https://github.com/poanetwork/blockscout/pull/1895) - added new themes and logos for poa, eth, rinkeby, goerli, ropsten, kovan, sokol, xdai, etc, rsk - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated -- [#1948](https://github.com/poanetwork/blockscout/pull/1948) - added ropsten theme and ropsten logo - [#1940](https://github.com/poanetwork/blockscout/pull/1940) - qr modal button and background issue -- [#1936](https://github.com/poanetwork/blockscout/pull/1936) - added kovan, sokol themes and logos -- [#1925](https://github.com/poanetwork/blockscout/pull/1925) - added dai theme and logo -- [#1922](https://github.com/poanetwork/blockscout/pull/1922) - added ethereum classic theme and logo - [#1907](https://github.com/poanetwork/blockscout/pull/1907) - dropdown color bug fix (lukso theme) and tooltip color bug fix -- [#1903](https://github.com/poanetwork/blockscout/pull/1903) - added rsk theme and rsk logo -- [#1895](https://github.com/poanetwork/blockscout/pull/1895) - add changes to poa theme and poa logo -- [#1812](https://github.com/poanetwork/blockscout/pull/1812) - add pagination to addresses page -- [#1874](https://github.com/poanetwork/blockscout/pull/1874) - add changes to ethereum theme and ethereum logo -- [#1815](https://github.com/poanetwork/blockscout/pull/1815) - able to search without prefix "0x" -- [#1813](https://github.com/poanetwork/blockscout/pull/1813) - add total blocks counter to the main page -- [#1806](https://github.com/poanetwork/blockscout/pull/1806) - verify contracts with a post request - [#1857](https://github.com/poanetwork/blockscout/pull/1857) - Re-implement Geth JS internal transaction tracer in Elixir - [#1859](https://github.com/poanetwork/blockscout/pull/1859) - feat: show raw transaction traces -- [#1920](https://github.com/poanetwork/blockscout/pull/1920) - fix: remove source code fields from list endpoint -- [#1876](https://github.com/poanetwork/blockscout/pull/1876) - async calculate a count of blocks - [#1941](https://github.com/poanetwork/blockscout/pull/1941) - feat: add on demand fetching and stale attr to rpc - [#1957](https://github.com/poanetwork/blockscout/pull/1957) - Calculate stakes ratio before insert pools - [#1956](https://github.com/poanetwork/blockscout/pull/1956) - add logs tab to address -- [#1933](https://github.com/poanetwork/blockscout/pull/1933) - add eth_BlockNumber json rpc method - [#1952](https://github.com/poanetwork/blockscout/pull/1952) - feat: exclude empty contracts by default - [#1989](https://github.com/poanetwork/blockscout/pull/1989) - fix: consolidate address w/ balance one at a time - [#1954](https://github.com/poanetwork/blockscout/pull/1954) - feat: use creation init on self destruct - [#1974](https://github.com/poanetwork/blockscout/pull/1974) - feat: previous page button logic - [#1999](https://github.com/poanetwork/blockscout/pull/1999) - load data async on addresses page - [#2002](https://github.com/poanetwork/blockscout/pull/2002) - Get estimated count of blocks when cache is empty +- [#1807](https://github.com/poanetwork/blockscout/pull/1807) - New theming capabilites. ### Fixes - [#1944](https://github.com/poanetwork/blockscout/pull/1944) - fixed styles for token's dropdown. - [#1926](https://github.com/poanetwork/blockscout/pull/1926) - status label alignment -- [#1829](https://github.com/poanetwork/blockscout/pull/1829) - Handle nil quantities in block decoding routine -- [#1830](https://github.com/poanetwork/blockscout/pull/1830) - Make block size field nullable -- [#1840](https://github.com/poanetwork/blockscout/pull/1840) - Handle case when total supply is nil -- [#1838](https://github.com/poanetwork/blockscout/pull/1838) - Block counter calculates only consensus blocks - [#1849](https://github.com/poanetwork/blockscout/pull/1849) - Improve chains menu - [#1869](https://github.com/poanetwork/blockscout/pull/1869) - Fix output and gas extraction in JS tracer for Geth - [#1868](https://github.com/poanetwork/blockscout/pull/1868) - fix: logs list endpoint performance - [#1822](https://github.com/poanetwork/blockscout/pull/1822) - Fix style breaks in decompiled contract code view - [#1885](https://github.com/poanetwork/blockscout/pull/1885) - highlight reserved words in decompiled code - [#1896](https://github.com/poanetwork/blockscout/pull/1896) - re-query tokens in top nav automplete -- [#1881](https://github.com/poanetwork/blockscout/pull/1881) - fix: store solc versions locally for performance - [#1905](https://github.com/poanetwork/blockscout/pull/1905) - fix reorgs, uncles pagination -- [#1875](https://github.com/poanetwork/blockscout/pull/1875) - fix: resolve false positive constructor arguments - [#1904](https://github.com/poanetwork/blockscout/pull/1904) - fix `BLOCK_COUNT_CACHE_TTL` env var type -- [#1898](https://github.com/poanetwork/blockscout/pull/1898) - check if the constructor has arguments before verifying constructor arguments - [#1915](https://github.com/poanetwork/blockscout/pull/1915) - fallback to 2 latest evm versions - [#1937](https://github.com/poanetwork/blockscout/pull/1937) - Check the presence of overlap[i] object before retrieving properties from it - [#1960](https://github.com/poanetwork/blockscout/pull/1960) - do not remove bold text in decompiled contacts -- [#1917](https://github.com/poanetwork/blockscout/pull/1917) - Force block refetch if transaction is re-collated in a different block - [#1992](https://github.com/poanetwork/blockscout/pull/1992) - fix: support https for wobserver polling - [#1966](https://github.com/poanetwork/blockscout/pull/1966) - fix: add fields for contract filter performance - [#2009](https://github.com/poanetwork/blockscout/pull/2009) - addresses page improvements ### Chore -- [#1814](https://github.com/poanetwork/blockscout/pull/1814) - Clear build artefacts script -- [#1837](https://github.com/poanetwork/blockscout/pull/1837) - Add -f flag to clear_build.sh script delete static folder - [#1900](https://github.com/poanetwork/blockscout/pull/1900) - SUPPORTED_CHAINS ENV var -- [#1892](https://github.com/poanetwork/blockscout/pull/1892) - Remove temporary worker modules - [#1958](https://github.com/poanetwork/blockscout/pull/1958) - Default value for release link env var - [#1964](https://github.com/poanetwork/blockscout/pull/1964) - ALLOWED_EVM_VERSIONS env var - [#1975](https://github.com/poanetwork/blockscout/pull/1975) - add log index to transaction view - [#1988](https://github.com/poanetwork/blockscout/pull/1988) - Fix wrong parity tasks names in Circle CI +- [#2000](https://github.com/poanetwork/blockscout/pull/2000) - docker/Makefile: always set a container name + +## 1.3.14-beta + +### Features + +- [#1812](https://github.com/poanetwork/blockscout/pull/1812) - add pagination to addresses page +- [#1920](https://github.com/poanetwork/blockscout/pull/1920) - fix: remove source code fields from list endpoint +- [#1876](https://github.com/poanetwork/blockscout/pull/1876) - async calculate a count of blocks + +### Fixes + +- [#1917](https://github.com/poanetwork/blockscout/pull/1917) - Force block refetch if transaction is re-collated in a different block + +### Chore + +- [#1892](https://github.com/poanetwork/blockscout/pull/1892) - Remove temporary worker modules + +## 1.3.13-beta + +### Features + +- [#1933](https://github.com/poanetwork/blockscout/pull/1933) - add eth_BlockNumber json rpc method + +### Fixes + +- [#1875](https://github.com/poanetwork/blockscout/pull/1875) - fix: resolve false positive constructor arguments +- [#1881](https://github.com/poanetwork/blockscout/pull/1881) - fix: store solc versions locally for performance +- [#1898](https://github.com/poanetwork/blockscout/pull/1898) - check if the constructor has arguments before verifying constructor arguments + +## 1.3.12-beta + +Reverting of synchronous block counter, implemented in #1848 + +## 1.3.11-beta + +### Features + +- [#1815](https://github.com/poanetwork/blockscout/pull/1815) - Be able to search without prefix "0x" +- [#1813](https://github.com/poanetwork/blockscout/pull/1813) - Add total blocks counter to the main page +- [#1806](https://github.com/poanetwork/blockscout/pull/1806) - Verify contracts with a post request +- [#1848](https://github.com/poanetwork/blockscout/pull/1848) - Add cache for block counter + +### Fixes + +- [#1829](https://github.com/poanetwork/blockscout/pull/1829) - Handle nil quantities in block decoding routine +- [#1830](https://github.com/poanetwork/blockscout/pull/1830) - Make block size field nullable +- [#1840](https://github.com/poanetwork/blockscout/pull/1840) - Handle case when total supply is nil +- [#1838](https://github.com/poanetwork/blockscout/pull/1838) - Block counter calculates only consensus blocks + +### Chore + +- [#1814](https://github.com/poanetwork/blockscout/pull/1814) - Clear build artefacts script +- [#1837](https://github.com/poanetwork/blockscout/pull/1837) - Add -f flag to clear_build.sh script delete static folder ## 1.3.10-beta ### Features -- [#1807](https://github.com/poanetwork/blockscout/pull/1807) - New theming capabilites. - [#1739](https://github.com/poanetwork/blockscout/pull/1739) - highlight decompiled source code - [#1696](https://github.com/poanetwork/blockscout/pull/1696) - full-text search by tokens - [#1742](https://github.com/poanetwork/blockscout/pull/1742) - Support RSK From 2fa568a1f5d5fac3b2401a42abd23eaa04a9ea8a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 14:14:24 +0300 Subject: [PATCH 20/20] Update README.md Fix requirements: Nodejs 10.5.3 -> 10.x.x --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c86dfc34a..78b3beb7df 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ Each OTP application has a restricted domain. | [Erlang/OTP 21.0.4](https://github.com/erlang/otp) | `brew install erlang` | [Erlang Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L134) | | [Elixir 1.8.1](https://elixir-lang.org/) | :point_up: | [Elixir Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L138) | | [Postgres 10.3](https://www.postgresql.org/) | `brew install postgresql` | [Postgres Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L187) | -| [Node.js 10.5.0](https://nodejs.org/en/) | `brew install node` | [Node.js Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L66) | +| [Node.js 10.x.x](https://nodejs.org/en/) | `brew install node` | [Node.js Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L66) | | [Automake](https://www.gnu.org/software/automake/) | `brew install automake` | [Automake Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L72) | | [Libtool](https://www.gnu.org/software/libtool/) | `brew install libtool` | [Libtool Install Example](https://github.com/poanetwork/blockscout-terraform/blob/33f68e816e36dc2fb055911fa0372531f0e956e7/modules/stack/libexec/init.sh#L62) | | [Inotify-tools](https://github.com/rvoicilas/inotify-tools/wiki) | Not Required | Ubuntu - `apt-get install inotify-tools` |