From a176f15d7cf7bff5b94c4c6a28bafbe710037a66 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 3 May 2019 14:03:03 +0300 Subject: [PATCH 01/54] Verify other explorers links --- apps/block_scout_web/assets/css/app.scss | 1 + .../templates/address/overview.html.eex | 1 + .../templates/transaction/overview.html.eex | 1 + .../lib/block_scout_web/views/address_view.ex | 10 ++++++++++ 4 files changed, 13 insertions(+) diff --git a/apps/block_scout_web/assets/css/app.scss b/apps/block_scout_web/assets/css/app.scss index 990583ecdf..87f5fd9df1 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/verify_other_explorers"; :export { primary: $primary; diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex index 5d0df9f6bc..483250aecd 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex @@ -119,6 +119,7 @@ <% end %> + <%= render "_verify_other_explorers.html", address: @address %> <% end %> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index 5decff7c27..83057cd526 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -50,6 +50,7 @@ <% end %> + <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: @transaction |> BlockScoutWeb.AddressView.address_partial_selector(:to, nil) %>
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..d4aec5bcf9 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 @@ -256,6 +256,16 @@ defmodule BlockScoutWeb.AddressView do nil end + def address_link_to_other_explorer(link, address) do + link <> trimmed_hash(address.hash) + end + + def address_link_to_other_explorer(_, address), do: "" + + def address_link_to_other_explorer(_, _), do: "" + + def address_link_to_other_explorer(link, _), do: "" + defp matching_address_check(%Address{hash: hash} = current_address, %Address{hash: hash}, contract?, truncate) do [ view_module: __MODULE__, From fa47f35feb105daed9abce33b66e8c3c53b8f90b Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 3 May 2019 14:03:35 +0300 Subject: [PATCH 02/54] new assets --- .../components/_verify_other_explorers.scss | 31 +++++++++++++++ .../assets/static/images/icons/blockchair.png | Bin 0 -> 18856 bytes .../static/images/icons/blockchair@2x.png | Bin 0 -> 20073 bytes .../assets/static/images/icons/etherchain.png | Bin 0 -> 1244 bytes .../static/images/icons/etherchain@2x.png | Bin 0 -> 1649 bytes .../static/images/icons/etherchain@3x.png | Bin 0 -> 2043 bytes .../assets/static/images/icons/link.svg | 3 ++ .../address/_verify_other_explorers.html.eex | 37 ++++++++++++++++++ .../_verify_other_explorers.html.eex | 37 ++++++++++++++++++ 9 files changed, 108 insertions(+) create mode 100644 apps/block_scout_web/assets/css/components/_verify_other_explorers.scss create mode 100644 apps/block_scout_web/assets/static/images/icons/blockchair.png create mode 100644 apps/block_scout_web/assets/static/images/icons/blockchair@2x.png create mode 100755 apps/block_scout_web/assets/static/images/icons/etherchain.png create mode 100755 apps/block_scout_web/assets/static/images/icons/etherchain@2x.png create mode 100755 apps/block_scout_web/assets/static/images/icons/etherchain@3x.png create mode 100644 apps/block_scout_web/assets/static/images/icons/link.svg create mode 100644 apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex create mode 100644 apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss new file mode 100644 index 0000000000..5565a038b9 --- /dev/null +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -0,0 +1,31 @@ +.verify-other-explorers-table { + display: table; +} +.verify-other-explorers-row { + display: table-row; + height: 29px; +} +.verify-other-explorers-cell { + display: table-cell; + &.left { + min-width: 120px; + } +} +.link { + background-image: url("/images/icons/link.svg"); + background-repeat: no-repeat; + padding-left: 15px; + background-size: 12px 12px; +} +.blockchair-logo { + background-image: url("/images/icons/blockchair.png"); + background-repeat: no-repeat; + padding-left: 25px; + background-size: 10px 16px; +} +.etherchain-logo { + background-image: url("/images/icons/etherchain.png"); + background-repeat: no-repeat; + padding-left: 25px; + background-size: 16px 16px; +} \ No newline at end of file diff --git a/apps/block_scout_web/assets/static/images/icons/blockchair.png b/apps/block_scout_web/assets/static/images/icons/blockchair.png new file mode 100644 index 0000000000000000000000000000000000000000..bf35b1947a8c2874f0bcf87092b481d6cf14979b GIT binary patch literal 18856 zcmeI4c{G%7`2QbEWJ#1tMNP=^(U@TvjIr;_L@1=vn0bb=%nUPjWi6u6qO6}b3S}*& z6tYC6R6^N8A_jdB67d_Yn)=N7ob&sB|M{MobId%~eckWtdhXYK-S<4tobxzhz1?I5 z{|0^l09Kfp8rm>E7mtOP^Dy3Fp`*Ht4?c>iBNYGyRxkc>0IBI>03f)ZXkcJ%?M9}N zscvKn#LU0|Lh&IJh@Kz-1hnPZ``g+2Z#+0^s;{5S!OhKAtS4%nxCLRUr;99IZWadD zzayPp3eDngfeMMQ$&20XRl;e*d!fa#CeJq{yLLxT?cKMtQsKMXL(8e<)9JzQga3X# zq5Zyey034UU`tHWL&@jDa=WsVGqd4XW5Ve~>N?Sv!j-G@UCeTnRg{#3fS|LXH_x2W z11gvK7uh&QEj&J&S!~0nE6rJd{Iq#2N3Tg(exls^HI-A#_N$p?*>MaP0hY-}8@7ez zaqmBIc}xLF?sJ<`3X81;!PDloLEVX#RwZsJo21_l5bl)#)~Q}nV0vVx+`bU%f=veEUz zNgx@hX|6i)QW^*eduP*EBMZQJVp@IV&yAVwD@UPrR?Fr|XIiU+)v2s+XnmMv(|gxy=w~g zh@^Jq_@zkhY=z|zh&%gN+^Uk0R9S^sb56MMxjgenCrXNFiLqwS%B4{Ia?CBC zy)YXPjWLmNA3859B_tVTuv|5&UXPC-LZ-V9M_321;!_gq)8p}nKHqp;NJ&f%Vyygd zj8`=A{B@Y3pbI?lydZzbI|EgJ|2};|9x(B|=%G?xp4u2A5xjL|xL|C#C-LJ7!M=rh zMLoV)Yfhf=(0lq@^wZbwm>%L^5tK5#+)rIIRpNo)dFUVn6&8On@|`d$X6nKLVnvtx zLhrTFq9;Y8g^EQehgO;T0r=TTsTw(&ZeB)`pvKuLOU>u|uB%BH^FG(RzB%gpdM`fz zAh8jP=;!xnzzAkmFEek?u~7GgylAUS`ER|oN~LdZR*Ry~1!k6CDfd4cD;QgWF}3yB z{(6tm0ok(y>kcRr<;{g>HBP2ljGT|Rjm|mw;$W_b{*Z99Va9nO>tkm_j4HzQ_Br2> zu0N-{B^I(^qFscP?lXXnNX~s700|}w{Dr?<5NWV z2Ed{F9w1X#3B0_we)OM+m7Ky6%a0mz+9VzsON4B$-4Ew$f^SU9zAw40&i!hgv1hIS z%VWmFb=bM1O>T8t_n7da#+G*m9P#JYqb%3b*L4s^Msf8R2Z)p#3XAB~h?p759LMyD z@atnNrOF|>N4D0uyKwEWn$sPY5?U>Lgj%E8iyTV~Fu$`^{)AO(VoRo!M%0I`1`iyR z4~d)fA7A~zr#NDdZoV|VUINb*n2g5klhmv?=@Z~Tr3f0ovKc)E+j?PD_O`#yxMZ)l zTeH)kd52~WVMyIKeCXWmY&Dg%wNLfiGK9`u9JJf5Z-%m+UCyZ$W5Ie zOipil6#Mr6xNB{pvP0liv#aL2R(K#hV01D1sw*caPdp~16=l4ve)VkF(vKtfuVC$9 zXz;qSLkHpyocSD4-Qz&%P!CV%j!(YWYv;4e+m9mT{e+6rDDb8EdeZLDBz=o%q9`iO zopxhT{DnpV)pX7d^)Pd3;na6SEhezsV-wTNJiQEvW#pAl- zw&1P9@rNZ1ih2aAcUK=cY%l06#&;BbY}L`&WBnVw5Gdk@%4FQIn>coxYCgQnEu`jS ze%Pv)e1@Dyx&`jZ+*8uK%-3G?K>B`WWoBES=1Js9k}a+Ydx?1IB*p`?GTASA2O*xI zL@*)6ho_4}m2&Lla&#zs?NR4K-WHoiCeRa5vh0Yxh=1Oi7!Y@BN`elK@@LBWv<6 zx>UHP&&qooE4{dpdPtu%5E<=xa9t|D!6Bonq^gTmBqxP-H>Z*jo_1ur zKUW6NC82Z#rL{8653T83wxLeNnYNx*o*o&!$(yz!ek0nI@}|4aU^p7T!V%r~F)?9N*CwM) zY3Tgm4Z-mr(%-xqo_X=8*`jwR-Pb$2>uLRYL^N{60p$j-WY3qkvG#YDbzQtuF;1GC z??!Y)kG&e4pp<_8XSm1Xu=AMe80JI9`{1gCx9j@Vn#dKeH->HwO+BZ&__rX#X-T5vvh+e5`mpm$EBelz2<*NdG{(t1O?1YSa4laD)@bh<=?UYi`F^r(&&Ke@?CV`^OeviHfl3~{nXx!YVg zAJ6KV)l>Lu#ZA|4f)(pzW9T(79~YmNKAMH$i8Uuoo(m5u4;nb0^E@(qkhFjFL_1fhAypY!;>s@ye~(WjsYb z-?krf%XyRI{D@spF5aE4(oVc~x%2N$r~}o4F2+xewxswW6bOD#VpB_ekz~J~VdwsU z21n(AnRSECD)tWc4Y{SW;EOZu3X=*c4;7r3g_Imr)UwyU>DBc#@Jj!It0#74HP1HBT!A$oZXVr@DIAa$k8%e^~!rofY%MM+e(Km+)Gy+=i~#bnq@5u%0=; z4*KwPesy5<`y1Qc?jDqWQ(t@WV!{oHI4!^4f%>xv;w!ZdzBBAT@>%w?)u`s%;M}q6 zje~~~U9MB}y`LX-ASu$Iqc6OupX!lI_L^LeQ`QwaBLv7QUURXw1deF>J zQjt9>-@HJ(bQf*pK>=7%UZzdwp&K`2s?$_&UL`euu6wIfh6+ImbqG})=-)n`LHFP4 zzxng7Pwlf$VuORG-ACIy3PQUl_b*h}M~_q_%-o$gKK`sM|Dn#&d54LYGh+#%hvxz> zX}D zTXcuELGqV5v~sF9aDIg9N`{>hPBe&~+PhofvBXf;vt9&1_qA$7c!V_xhU^at>dG4# zoGIixm(KxRtvb6EC|nUv-UFN)5hS+_1b2mUjHVp?Y|K0O1^`fSqMZZH0b_~6k-ZeL zc(Mzq7~n-=+?fCXS|@;l#d&}MbUOIAE+H z24o))qN<35;^0U%h?<6?lB$}TirO}aGF(X&21mdUaHui@r2v;Kbe5XSxVVpT!pFjyRsw0M^-kA^Xee$M#Mc%UJc25K|3 z8c?_@6ppY{QbsAMq7VoLI06NSFA4IsCsPazqx$h!8uq_L`K2#&95S9r2>ee`e)jw| z1_pyNBT;Es5)L#o)Mkubkx0a&u%L#Lx|%uxst$KifvULR)u9>$yc*O64kF-q6;+U+ zqW)!&zsi3LZAixXE|wA_^w*`2C*v65e-sD`bipeVkO&nh7KG!WN=j-tsD>Kj2&;rp zQdL0^)Ra{4-xDnf_FEz=A0lIC!g?<0vp5z!Bbf>wsp_Iez(H}U8ZJ;39H;?RN4OxN zpt3p+s}9G(UDQ>+r}#sd-%^CGTvBI@YWuSH*n-}_wtjbb62I&r6s!*wTwI!3 zlHb?nk4@*tp0cR)}N>KL-|cc{CztA8-lO#m&pG;hrb(0 zVpaZMLw)J>??I?!0?i-m1M0alD&)Vd&98BP6*4D4!xr~zPvZZ=R8X;g|9=zl-`3Ut zk%{H-%*l%sj{T&wf3s2uK{neD=j2BF4@%@{0she5q$XdG8%`E+?+({zRw3WYQ zV`^TaTKpD9eL-oK zLgZ5662~{;*FsuyY4>H1_}a?2aAaJw!hT$|{T&(#pdD*y_fUq{%xLEUH^0IL;0by;jak1vZav4<6_N+ z$;-yY1cbH8#>JWslb4N)2?%SGjf*uOCNCQo6A;!W8y9OnOkOrFCLpX$HZInDn7nLU zOh8zhY+S7QFnQUyn1HZ0*|=EqVe+zZF#%z1vT?EI!{lY-Vgkb2WaDDZhsn#v#RP=4 z$;QQ+50jUTiwOv8lZ}ftA0{sw7ZVWHCL0%PK1^OVE+!zXO*Sspe3-m!TueY%n`~UH z`7n9exR`*jHrcpX^I`I`aWMg5ZL-A0|MM|Wki>ZQ)1UE>C*gp865|0;2+q_70{~vW z06;wl0CSxH5Qzr>$~yoUb^`#oHshb&B=!xb3;_V=VKYNLyMQ*8hfb!p8~{)E!f-lN zO)c$Fx|D2}FA-spk{#8CS-s6Rs_=r*Uxr#A@P?O6?;0L94G@?-UnO38mDa?IF?_5F zi|T(tLwRJSQRCCgZZ{cx&zIpe zh~>x{Z?G@9ZMk}bql-wLWa0EhO!b?4yuGh45ECtDN8<>fRrNF-JaW+MnD9q|d-gOz zUZdLVTO1twiySCro%C(Mn5tLh-WmP?O|x@Ql!x%m29 z(#!kOw1lj=H&S?(MK-$Z&XkwE*W7a-RGhZiaP{f^8lX0AVqgmpEo9vV1kG|QlM`tvl;Z3n~ zl%dayD^4l0?M?aUq=cFzuGx?<-pV7JLheD`j>|WCNM6~zbN#?N+L&EwfWe-`7Rai@ zkFlLHol`G0Hg{JMYWUX*+U7*v+h18VthTGY-M&%v^w#Y}^LfatiCNNguFdJOnuy$0 z-G8Hl1aix@r zGs2M%@ceiDHb=|88d-7o*v9a&zX$g#CUDEy}*W{p)WAZG(Lu0f6%yUR70J--<{k zlB|gKg4(L8g7ywX3%o5309@YWo^UoYbl&YXsimS4%fQUcR;bLQAO06iS6K=EV57E= zgvz6RSr0%N?CqdUd$#8WowO@rG+@2aZd#S==#f=@EW7&ghb3X(lU?3rq_TxX_bK=5 zZ)X*z9xMzDY~XCa6!l!_CHKMOS+VI^5@-#J=x`D*&ui`{+w#n{v!Rj@$R@xo+53J> zj56?KgL8p_soz>-NP3|Go6cW!?&zu}y;c7_qdcmbdr8`5yt zCzttL#La0jAa=lNIf_ztZQqtBy$r)2tIZE=enDguJRCWY4XoS(kURzt86{pYaPND@ zdxYVl6>u>q_(-~sFS`$^Nd)2Q-P$nH$`d^M#RCNffFyg@>_RQ%hBcy?xWU4pJ@b=h z%NvnEEKt?z{6+QV4z9_kYKsg;UJnat$nr(fiSKV$=#Q6<1k%Yr-IjAgjDoHqLO zm45DOn}?}x{_5<^@-;H5ktbjG`i{*?0x1nT9FZ8QJKyc!fB`B+DYsu;REVl#H0fBaYr z*S96UH`^&r$hZsKmTKg`ACE~s6uh;_BVI%-NQY5^J0(}AKBB0A93G_IQYMTzo2{eU z@=AM%=aS|D>(NvZ;Y~t*svD*J>Xg~o1&L$U;}`VZx3WR_29#NxK`(b--2~w~D5wE_ zKF!J#o_Y@~&S@?Yp32GYF{~=(>^z{t$$|?{auURUnr*?ZFb8mups?+N(b+iAz< z?8Y~7B=BVg8JIvVDW~V2zT$1YmK&&-nfKwm{DXb>1*HAPmR-}!Zk0JF2XO|KqqGcd zj=nvu?kSQy#On#gi|TMM$wtN>nMe&a49t#v<(0EVWt6*3Eh%-A{*`18^>Sb3vu4Hn z>Qa>c3KCq?R49OpFzwWlFLpHg9!v zb@{@uGtN|{vH2AY#tm$|Yv_&Mb_yszb<<2Ag* zF2Lkn1#sZb6X12l&dHA#HZyWx*chV5Xb^sRI$Tho`kVw?tHkc8tQw)iwbr+5HEgS$ zUtiG}uSGA1v|82fKds4%nBLgqa@m<#*?yzEijoO8+>fbG!(~gE8uu3Esx8`T2d<(9 zwy>+9bcM?Vb1v_%vNmTrrnjs#F1%@*$YoNMR6l$=+(qZne$fcM`0)00VOhUV`&FNr zK>hb<4qn~%%%SkYX{Eea37lo#p@s`!#W#MyJ8#HSqo$TeA)yiZRdH zX|&x~we6T(w#BH7qwi=+NtU!^!j2azZ<02pq>UJzRMAVfd@(!H_UU+uuY!(Q3bD24 zlVfXDd8w%&@Ii)ge+C`fu;+1WC#>%`!G$X&r5 z^TC;Lt3n@9-Rd`GgQE%^~y$gz;jgCLQu z$;BgkUdiT@%!c?o!pEM>4IQx0=oanv??!c7Oqvoz7WkVl4OMXrWPD_Ix$7$CD(713 zBJI*lc64MN{W22T9yQkV@=W&9<4Lxjt`g$s8jllYmlUJ(2f^=%efK}+PbZIzjL44q z593C%KkXQ98{=;&%~&{TmZE5)s9~0)Xjp!{TzT!$DuyY~_o8xEh08^Ui@Pq$vsiMK za6SwO4G>Z-=;N$BS?L*Yg42wTEd+UGYe>+Q!QFN+1pd>LSj@Q99`s?UJc(W_kE+jk zK3iY2sWD!D$5C;h0-}7At*h$UzMAwW>2C()BH@t)Lrg0=6Q3E0vO#T*b&5S^5o!Uk zP`BV{bV@h_ckgO0F|$%MEq7gUnwNV!73JzZ%T0=Njan3+Ju*lH`R&-U!+%FGXcvfZ z@?~^hbQ(y+H196bqOC&3D`pJhU_nV@M-dH)-jQY<3V+U$jlvtP5siFy%E_jzS zQxZ$&rbL*1$CCsnq?}pl=~A3iu2auEd_HabW+(CfTAT0KyRq=8J5T!_RElYe)RJrS z_w42ukcpG4mWh(Hb1vz-J+x;W+48Vy@dig%bw|bvT<(!lv60b<_^Fd)ZtYjdv*#mA za~9S_8EnIZ>1hllO$-K)Mg z0h#B%%RTf{;``3=#aH!hNBWJ&9M5O^(kq}{b|?--a+YBV)@(M-U8lHYlJmLrfw#7rs54q zzCKA6xOwZPQeP&fYTwlrggOSY)0Ts zu=Z3PUj#({JvkGXiM%Ts92pf|Bs*3edkIosOAejedrEeGM&{=E$l9bmMAgwxy zWOnZ$>rlsl^E36Cwi%HPEgQx-&Tc=zLl7Mo)d9aTzHOLz=8+!y_CcdPpq={AhXaW( zQKs4BvBQez7pn*dqB~FPTniPmGloLhL{N0;9*Y_ekD>=Q}xrJs$R&7gdi?_gS0d12fF+~==@h5CDY?|{qOz)E(&wUx4 zBbHzFCON9U3J5^dmc(Bfzk=I6WvA0cUOx4fI3|6Hkk`A64mLkh+n%1QITqN_LA?8> z*k118na3-Ap#^ep$~o5Z@Hdy5xJnzGjJ?CA+TO0Ms?KkYaju;t^t>;%917c{nAa)x z`c#{eq%MA#&_EowdTxujPaG&~AM_b~tjM*BulMR&DPq;#d>C0LXLA0|kp5ySFX(x6 zUZrc`RPj-($6ov1*Hx#bg%$G$%RBWC)g_1R*(~ohtoH8mipYxIq}&JhoauYbBLT2p z%lXy*mHJ+Ia&f@j%4T@cQjv7>?(>uH7T?VVg8j@sFPb-0x5o5?lS&ia7DuBBP9XAh z@)aH&Cr>=f$Ca0rDvYs=X|$m#6Qu6nCbX^8eo!n$cpx@)Zz}g3JUWv!=DgooVCDFi zuBE0Rcee%W$*%5v?{{xxt#p=c zHhpMh*>Xp7F;Zau(VTjJ@F{SxS(&@>+?)QncIh%=XgSK;eXS>bA#p)W@qvfcD&Nwy zhTeI-FoT9m43s+ps5Gxj$%Ys8%*+!2F~p*o3E+&SZmKtS>7!UF^{q8ys2C9A}9q$O}!CmJ12uvGPJEq)-wldsUnjUdzn^XXtj+2;*jh zk;MurDzGD65R?FRI5Jw$#m<&MLb%8aeT|Et9IqFHg#^D=A=}6cDX%vuXoAugR3$p# z1f|5`AdCcDT2NY693mwxEh&9i5GnzY0!zTaFbNP8hLDs%NJ0g_zl0RnDMv^LtOdeA zP2+oW6iZ&nicGdgfWgkr&f?B6aiW7I7$Pex3zmR_p->Q|28iTJAfsJC1d{N#AV1=$ z;Yb(ka*UeIJ*d{m+I7r0?t~6u~ZNdoV;?0{kx`6pFUY z&h8(TB(k~_r6=D<_Kyvcj9l$;U;`Y9=;(mKsXO5aWZ{461Qzo%j=iIU?N>fn3>asN zv!h5zl+Hu`u?zM;Zb^U2|LDd~_rH#wjJNnTIe%!^J^w1hx#0grw(j{R`hW(Y~i zKZL3S4oxOH7!irK3g5C!|3~iyDfiRsStWQ7g~s3s>v!3rNHDeN*Np#)hf_n7aS9Zz zEJ#8MBmpymKoJlrgcMXv0)~)~_$|n{np81Rl{$Q<&V15afn#Fh3kKc@~h^b zF;FOkHi1M&6EHY!H3iDp#qoG70*#ZAz(Ay-AT&f$79=T!l?I_@p^_jh4vUtNl#s>A z!m(cm`KSDEq1A{O$MsaAg#Nblu|y0d{LchISU_M{X<0Z7gvLo=K@f;E1|%y@IYL8V z5GhHRg)~I+XG6aQ`&&bL4tUDWgtq;y&iYuel*XiGpb}DWS!s}ktdu!OQpQ{gBr65Q zfy|*$N&`4485rE+$5{R$%-@>Q!jmZZzQB(&52-9-Gi zb@l(rMEuHRj1`(-iNh*@e0e#EpcFb zf+Z6CtMFHw$Y1-AD$$ncfFfdX3NR%2pNjucMfpKi|J(1e3Tk+gy)D}HckyrD-_+|T zI0R*%q2xUJ>-vTu!G9~Gu5YrwU)VZ+t1l@jL3x28>!07Xzx%1RrvC@+?|y3SFR3vB zPga0_Z;qeDm6wi-3J7hJj*B)QDlZ)u6%g7c9T#mrR9-qRDj>8?IxgCLsJwJsR6uB( zbX>IgP9}a~q4LskQ30WC(s9w|L*=F8q5?wOq~oH^hssOGMFoVmNykN- z50#gWiwX#Bla7lvA1W^$7ZniNCLI@TK2%;hE-E0jO*$^xe5ky1TvR}4n{-^X`A~W3 zxTt{8HtD!%^P%$6aZv%GZPIbk=0oMB>w_M@vLfDXNS$@CF z`;>Gn@A+bx{%zZ2oIV{qV904f;*399yVyP($68;XJTf{{jf#~VY01hO4wm;)^weIM zP^bKlMu>*6Xtt=#p3r+MOY=hlZ;ECw!;%!FpwRgE_fo=Y*sx2VxOldxq;l^F_Ge&X z(LZ+Vs=@rE`{L4lLY!l2Y1g@?I&&XcmW&Lxq|CX4InSkhDHTIPICmxNS|WB8cur5E zi1KgVOmv*ux>eijQ1XkkR<_1^RXHc-q@v`kHICQ4y?fW@Gg0*lt1iul@87@36CCww zfAbbM+Z`1=96(S#8~a+!tL^p4Z$DPF=iW76DGPR1j4Ri?bz4L~Jgmy(-EDzxpPUOX zrH>uskwjHaIHi#gXI6l-uI{sfL-_*i$?wx3nH9k|HV$)jc*NZ}$jr!aTAY^x;3CUr zW!@b-+BZnpf4&rYF?=s#h~;rjkyg-+7hPS!weOXUjSCA4wRCmNE1uqbAsQqEG!?@Q z&z;N6v>Me@_0d1**D+Q-wXki=-lH{7e08rw{cqnsOc^yKUiaS)d8@s6R72RDDdRCm?l2cJzf9}a(Bap@ug{hZt;}=SO>ymo zVsQpK4xU)-fU{`nAveeY!_w`XsVM@U(-x2N^ZS;kBdgT2dDMFS8*Q*jL+7e8-%sg= zA#D>@6C$^n=}aZBM#%R}esuL@zF0Bki$JA4oLhdE13onQ4(y#-R>E$`vn)>F|$L3kg1T5MFJqmn%2h$qa2N`_GFWzAzo2HrDR99!ucSR%i%Zthk7L-V*D)Hlp za)aRAy69ckxl^_Lc-34q{BEir&rF_Z^@+fWw{<%mUtiFV=kD*E}AG^)CeTD&ErEqVzIPU^u=s^W04K#i+WP z9Lb$0m%-@JjYrfEMigf4gu?qYl&@^RvF*dN&gqB*OeE(L7sz9Eap;=BLCd$6$yk3)fF_7R{ zkTu+D==fGGz{l^^v75C<~y=lNrg6}r2(T;4V} z$b1S3o2b^6MAkWU*aFM)z6Xcf^q0iXBsE%8ejuM+s92iHU&Inel7NNu0f^M(h6soQ zgn2K1th67fX71}#5d=!E5D6y7O-xL@6%i+(+!RX_C2=H^mCMnsVa| zSA^Iq%dQ-*L>o9aXGv~O{RdqxzYBgNpFSa^RG-F9mTx|#r`zumovkozdqMx5rcEn( z@w5D)=Ix&_R-yg@cN;_au6spXzrOdZ>3xFA{G947h8A+&E7^rynVAph3#?T})8UU6 zW(PzW>uRK(cd4__s)cjq$5mfX6y*L39p9K-ZoeADgu@*`?%kY`?D4!Ebjs!71DCTW z&2@GQwpZDkmRPq`@}BC7lY>nOE5RSF9=Gl+dt`h+terW85$?Kt6`!#7Wd^a7{pMs@ zj!b~V$jki--35_W7)fD`Ze8tX;-0FWD-m|5inqgyufMNJU`>K)R()xHmCPR=e$Hm` z#*G78$VmICB!MgZiiGn=o9g0g?q12t3F@>h<6O2n!4{Mg9ue`}w{S(bWQpLRU^Y4$ zbt^h1I(oIZv{ui^h57oV_<<|Q`cZLF53yvzq#|es2jTwim{xTU4`ikQQQp{idTHg} zy?f_E;P9p->8Y!=mQ5~mi$l@dV;cw48yXrMVHVA9kBf_=OG*%57N)`~&M7Tcc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuU%v{0TQqR!T z+}y-mN5ROz&{W^RSl`${*T~q)#K6kLNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$IMft0d=ry1 z^FV@{U|qhxR-SpqC5d^-sh%#jN= z5l-`F!J(uk@ToWaZ7k;-2;#sC`7?|=vY06ElY1sx6Ga_2_G-oFn2zYrdno{4o=+9X< z9Uym+%O|8L*Dyz3wBzP_}3Zu`9UUG=@^ws9wqdi5oLN#OZ;<0#9Y6_1~& zu30GcRN^ReS1ec0g7}{XRv(+V&Q$ZU#(iv&)X9Fscm73z<_6WWAHRD4eC5iuIAR+n zxcS}FhY>#=w~6{B-r3cs+^7_Le}Us_k2JA}0}Y=Pw`L3VpExQi^|4oM$y=u4Ybl@m zpJ%wQ-&$Du!^Jo#&EQ6JB#+knV|Lp%uH^eM>rdOVgrWe2h5u%~IMntj(>9`$Y0iSM zx4(J)-)AXx%D%p*y6VbA{+RUa>6!t{{+y9Am)_Q4E7K}FX~oscrB@cnZGUl@U06zR z-?5>?5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0*lEl2^R8JRMC7?NanVBh8mZok-7G_4Krmn7*hK8<|mWIX_7Usq# zPL394CPt2KFugAM$)&lec_lEtDG0r0IQ4=OL~a4lW|!2W%(B!Jx1#)91+d4hGI6`b z7^itqy(zfeVuDkzKF~4xpy)-4ZkP}-4S|^O#0%uWlYeR+FwGYM6Zbpczl{tGO!qxq z978H@ZJ8d~(HAIj{J4a7%ITOh<~<^*oW?=P@k+m=PEAUU@j1h4s40G=_3bgaq&HKh z7-dK#^IUG(m}0b~<)PCrjzYszM%(@`{vW-3`RBUlf6vTZUiWqGbKB>&^WNK>w#?t$ z)1|EGtI&O*Mu1uOV0Hns47>c<&dhnd-&vMBuDkS|b@BnJ4SX_Oa!aaA?#bWTE@7@J zE7I7zPxb|KUX!2T^Y!f9wU!s;Vwh#8{8OC4s%ESc_3f0DyyXS%lE7Wo2__j2cJSCR z?C!CYJ?JBE{XuAt`LXhY5r-=jb{|Y#D*f_sqkn>h1((^!`Ssj0tNp@z*Bh;2{weru zYvAMgy*C@TEpVNb&2{BR;3mE&4YCj9D%j>VPwv_2?blf66)t1Svi5-4hC`p$SV!=D zYjFB-+~~Q%?ai9o9ZE&mjSh(Z`|Yx6(#{R%lVYA9fA8>|%TX-bO8t=^Z`k8S6Q0aD zC!kj1Fw5I?`;963IZF>8&}`9vW?Ea}gruvY>{eq74)s-OG3lKK3% z<0YHeQl!(JJUc#Wnmw*!PkQtC){Z$P!XewzrD_+pMcYr{AWdqK?xQ4-PQIDfq5rdhB%V zit%gnX8u=^GC7RR5>m@OIMOukN*fq1S^6sbs-MA>^1T-4JAS3`O*g5^K4tj9_R+8N zf!l71HkB-`ei)(LIW>JJ^S|xPg-fL;C+t&sz`E^D(S=*>%%NV}S$Z~|nOd>l?AXp6 zuiml+5`Th9V^8Kx^O|v7E-+)|=k0bf6OL^xz9SJ; zieOSKLj;O6JV>dENYg?wX;Bh+T9TZlAg$pNIR-XHpoUNx(V*S|>)3{1(hM&f+gq;z z5^*L3O$sKx5hWEx6M2XhA~Gm}{&FyoNo2ApR0fktXZjIoAe8}t0YCugPYYnvK{lO6 zeEX2FY+A)uwwNFOHWzjZCMi)=!v=tqloU!z00q%*1E?$(3jk>VjpmO<`0G+(RA%sp zb>6cKd`KtPsx+tyfr(Z|*%m~P29q$QZ%R;W-qFIkw{5~21{h=-fJy+y;hD5ZmYL7m4?mJLNXN5N)TknY!{=I2#V;Gh=$1H z&2)|EBa+Egu=SEWgA$3@LRg2&U^yh@2a_-!ib|zmvjS=1G%yro2m~xDRls6V1A>B> z0rarYpg=k;G<+7zN91}n1f#Q9#a~$J2eDQ|s5Mw-KBQG8LyB-Mq9)E1&Q`ro3nQEs z6i5sEAm3Z8;(c1)V0jo_v{tsA?x;?d9lMg`$I71c`at{UZmED!`Z5Y z{7{ME!Oika<$=##+m61De_r@a%|Up9-DiHj8^}8uf&+0i>dw7kE?+Mx>L|UKp=vtI z-{7qK(q}uhR+6?cuBm@=k05*R4M(?)=EbyS)r-tmk5Tklg_Bb~ZD!q2W2ofA-XT%xWyET2(p({JGn#_xJ}DBLjtd= z_QLvTE^qW^I{m)~Y>XavoyJrde*+`inKl_o(OLMuQDh0w^zNDub7l#ppLmBJ$h<2d5-ePPYXJ8I;iUX z21)KE!@&eae=7ND`3ng*Cg74{r|$I^%jaJ{&MsQ_e5okgH*1Y-_+IIUc`h?JixCX;oqshHD~uoX&zCu{9ZyyA%j?c!TnKH zoGrI=jHwLUd^q9tJ@WH!e_Y77`NjVE8cj`x zBv4xy$xpp?Y?|VB!1#=%;p}~!|J>pHzqh}PB1LBO*Ex+P)eM_TdEY!X z+4y#;podHOXTE}sds}nrY6r)Z`Db%0wRm6z_xBa6ci<($(T^66I@qmj_Bj8kldv!e zU#wqy_OIiod|8DHN6YE}TvzWeeck#t8 z@*L38t)Dj*TOcBsa}?bb_bN`F+<%&E8HV7ygvL<4c*!1{_G0lDr(48b#Q*G*{8*JY z5Vi;rSpKD7<)n)wZFYG|^(;v%_0Nre(cXW`+u5EUYmzvBS*~z?+GgaVt`P z6PYKXyiVA8d3Rn$wv{VpS`z|0KQHb|{RKKzrS3mmG)lIF2cp2}{iV6E&_lJ^%m! literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/icons/link.svg b/apps/block_scout_web/assets/static/images/icons/link.svg new file mode 100644 index 0000000000..097e437686 --- /dev/null +++ b/apps/block_scout_web/assets/static/images/icons/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex new file mode 100644 index 0000000000..ca87829ccb --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex @@ -0,0 +1,37 @@ +
+

+ Verify with other explorers +

+
+
+
+ +
+
+ + <%= link( + address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address), + to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address) + ) %> + +
+
+
+
+ +
+
+ + <%= link( + address_link_to_other_explorer("https://www.etherchain.org/account/", @address), + to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address) + ) %> + +
+
+
+
\ No newline at end of file diff --git a/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex new file mode 100644 index 0000000000..ca87829ccb --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex @@ -0,0 +1,37 @@ +
+

+ Verify with other explorers +

+
+
+
+ +
+
+ + <%= link( + address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address), + to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address) + ) %> + +
+
+
+
+ +
+
+ + <%= link( + address_link_to_other_explorer("https://www.etherchain.org/account/", @address), + to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address) + ) %> + +
+
+
+
\ No newline at end of file From 152d4995c155b67db4aaf7b23c79eab50bbc0f7a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 3 May 2019 14:24:43 +0300 Subject: [PATCH 03/54] Remove unused template, refactoring --- .../templates/address/overview.html.eex | 2 +- .../templates/transaction/overview.html.eex | 2 +- .../_verify_other_explorers.html.eex | 37 ------------------- .../lib/block_scout_web/views/address_view.ex | 2 +- 4 files changed, 3 insertions(+), 40 deletions(-) delete mode 100644 apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex index 483250aecd..a0561008c3 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex @@ -119,7 +119,7 @@ <% end %> - <%= render "_verify_other_explorers.html", address: @address %> + <%= render "_verify_other_explorers.html", address: @address.hash %> <% end %> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index 83057cd526..49be29b2ad 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -50,7 +50,7 @@ <% end %> - <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: @transaction |> BlockScoutWeb.AddressView.address_partial_selector(:to, nil) %> + <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: @transaction |> BlockScoutWeb.AddressView.address_partial_selector(:to, nil) |> BlockScoutWeb.RenderHelpers.render_partial() %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex deleted file mode 100644 index ca87829ccb..0000000000 --- a/apps/block_scout_web/lib/block_scout_web/templates/verify_other_explorers/_verify_other_explorers.html.eex +++ /dev/null @@ -1,37 +0,0 @@ -
-

- Verify with other explorers -

-
-
-
- -
-
- - <%= link( - address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address), - to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address) - ) %> - -
-
-
-
- -
-
- - <%= link( - address_link_to_other_explorer("https://www.etherchain.org/account/", @address), - to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address) - ) %> - -
-
-
-
\ No newline at end of file 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 d4aec5bcf9..2d07168088 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 @@ -257,7 +257,7 @@ defmodule BlockScoutWeb.AddressView do end def address_link_to_other_explorer(link, address) do - link <> trimmed_hash(address.hash) + link <> trimmed_hash(address) end def address_link_to_other_explorer(_, address), do: "" From 6288d8ea4eb7585df63dea9d0980da5551c3b5f9 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 5 May 2019 13:51:07 +0300 Subject: [PATCH 04/54] Fix display of verification alternatives in the tx details page --- .../address/_verify_other_explorers.html.eex | 8 ++++---- .../templates/transaction/overview.html.eex | 4 +++- .../lib/block_scout_web/views/address_view.ex | 14 +++++++++----- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex index ca87829ccb..542bdf74c3 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex @@ -12,8 +12,8 @@
<%= link( - address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address), - to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address) + address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address, false), + to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address ,true) ) %>
@@ -27,8 +27,8 @@
<%= link( - address_link_to_other_explorer("https://www.etherchain.org/account/", @address), - to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address) + address_link_to_other_explorer("https://www.etherchain.org/account/", @address, false), + to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address, true) ) %>
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index 49be29b2ad..b0dbfdd1ec 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -50,7 +50,9 @@ <% end %> - <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: @transaction |> BlockScoutWeb.AddressView.address_partial_selector(:to, nil) |> BlockScoutWeb.RenderHelpers.render_partial() %> + <%= if contract_creation?(@transaction) do %> + <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: to_address_hash(@transaction) %> + <% 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 2d07168088..c777fd74a7 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 @@ -256,15 +256,19 @@ defmodule BlockScoutWeb.AddressView do nil end - def address_link_to_other_explorer(link, address) do - link <> trimmed_hash(address) + def address_link_to_other_explorer(link, address, full) do + if full do + link <> to_string(address) + else + link <> trimmed_hash(address) + end end - def address_link_to_other_explorer(_, address), do: "" + def address_link_to_other_explorer(_, address, full), do: "" - def address_link_to_other_explorer(_, _), do: "" + def address_link_to_other_explorer(_, _, full), do: "" - def address_link_to_other_explorer(link, _), do: "" + def address_link_to_other_explorer(link, _, full), do: "" defp matching_address_check(%Address{hash: hash} = current_address, %Address{hash: hash}, contract?, truncate) do [ From 308a729339589b0f511ae94377aa0ea8cdbcb548 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 5 May 2019 14:08:20 +0300 Subject: [PATCH 05/54] 2x images for Retina display --- apps/block_scout_web/assets/css/_mixins.scss | 11 +++++++++++ .../css/components/_verify_other_explorers.scss | 2 ++ .../assets/static/images/icons/etherchain@3x.png | Bin 2043 -> 0 bytes 3 files changed, 13 insertions(+) delete mode 100755 apps/block_scout_web/assets/static/images/icons/etherchain@3x.png diff --git a/apps/block_scout_web/assets/css/_mixins.scss b/apps/block_scout_web/assets/css/_mixins.scss index e7ef07f13f..ce91137876 100644 --- a/apps/block_scout_web/assets/css/_mixins.scss +++ b/apps/block_scout_web/assets/css/_mixins.scss @@ -198,4 +198,15 @@ fill: #fff; } } +} + +@mixin image-2x($image, $width: 100%, $height: 100%) { + @media (min--moz-device-pixel-ratio: 1.3), + (-o-min-device-pixel-ratio: 2.6/2), + (-webkit-min-device-pixel-ratio: 1.3), + (min-device-pixel-ratio: 1.3), + (min-resolution: 1.3dppx) { + background-image: url($image); + background-size: $width $height; + } } \ No newline at end of file diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss index 5565a038b9..36d7ae145c 100644 --- a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -18,12 +18,14 @@ background-size: 12px 12px; } .blockchair-logo { + @include image-2x('/images/icons/blockchair@2x.png', 10px, 16px); background-image: url("/images/icons/blockchair.png"); background-repeat: no-repeat; padding-left: 25px; background-size: 10px 16px; } .etherchain-logo { + @include image-2x('/images/icons/etherchain@2x.png', 16px, 16px); background-image: url("/images/icons/etherchain.png"); background-repeat: no-repeat; padding-left: 25px; diff --git a/apps/block_scout_web/assets/static/images/icons/etherchain@3x.png b/apps/block_scout_web/assets/static/images/icons/etherchain@3x.png deleted file mode 100755 index 5d8f4405b792359c2ddec8aa88f35b03a95bbcdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2043 zcmaJ?dsGv577hl`C}5$WfR#;y4}y@HgoKb7B9H_LHHaZC5m_WAqluWAm`otNk*y*w zXDJ2{@P#i5M`~2+gN3EIDd4k;RIpYNd5En&1pz5JD0G5i_Yd7UXXf`f_xtX5@BPl1 z{OG8)j`Ka|<8U}fVFX`{t)TUtXODej=UDQv#RC;c(HLYanj+IexKIVM1tJR7vTcwU zk||PmUV}I|9NtGIk)l%3I<_29Q)Jc{ib1Wx&^R1tjX@)mCqXE23$#rI2a|>xz9SJ; zieOSKLj;O6JV>dENYg?wX;Bh+T9TZlAg$pNIR-XHpoUNx(V*S|>)3{1(hM&f+gq;z z5^*L3O$sKx5hWEx6M2XhA~Gm}{&FyoNo2ApR0fktXZjIoAe8}t0YCugPYYnvK{lO6 zeEX2FY+A)uwwNFOHWzjZCMi)=!v=tqloU!z00q%*1E?$(3jk>VjpmO<`0G+(RA%sp zb>6cKd`KtPsx+tyfr(Z|*%m~P29q$QZ%R;W-qFIkw{5~21{h=-fJy+y;hD5ZmYL7m4?mJLNXN5N)TknY!{=I2#V;Gh=$1H z&2)|EBa+Egu=SEWgA$3@LRg2&U^yh@2a_-!ib|zmvjS=1G%yro2m~xDRls6V1A>B> z0rarYpg=k;G<+7zN91}n1f#Q9#a~$J2eDQ|s5Mw-KBQG8LyB-Mq9)E1&Q`ro3nQEs z6i5sEAm3Z8;(c1)V0jo_v{tsA?x;?d9lMg`$I71c`at{UZmED!`Z5Y z{7{ME!Oika<$=##+m61De_r@a%|Up9-DiHj8^}8uf&+0i>dw7kE?+Mx>L|UKp=vtI z-{7qK(q}uhR+6?cuBm@=k05*R4M(?)=EbyS)r-tmk5Tklg_Bb~ZD!q2W2ofA-XT%xWyET2(p({JGn#_xJ}DBLjtd= z_QLvTE^qW^I{m)~Y>XavoyJrde*+`inKl_o(OLMuQDh0w^zNDub7l#ppLmBJ$h<2d5-ePPYXJ8I;iUX z21)KE!@&eae=7ND`3ng*Cg74{r|$I^%jaJ{&MsQ_e5okgH*1Y-_+IIUc`h?JixCX;oqshHD~uoX&zCu{9ZyyA%j?c!TnKH zoGrI=jHwLUd^q9tJ@WH!e_Y77`NjVE8cj`x zBv4xy$xpp?Y?|VB!1#=%;p}~!|J>pHzqh}PB1LBO*Ex+P)eM_TdEY!X z+4y#;podHOXTE}sds}nrY6r)Z`Db%0wRm6z_xBa6ci<($(T^66I@qmj_Bj8kldv!e zU#wqy_OIiod|8DHN6YE}TvzWeeck#t8 z@*L38t)Dj*TOcBsa}?bb_bN`F+<%&E8HV7ygvL<4c*!1{_G0lDr(48b#Q*G*{8*JY z5Vi;rSpKD7<)n)wZFYG|^(;v%_0Nre(cXW`+u5EUYmzvBS*~z?+GgaVt`P z6PYKXyiVA8d3Rn$wv{VpS`z|0KQHb|{RKKzrS3mmG)lIF2cp2}{iV6E&_lJ^%m! From 555575eaa47d484d06c14c2ad29b5cd9d6a0903f Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 5 May 2019 14:22:23 +0300 Subject: [PATCH 06/54] Update changelog, gettext, build fixes --- CHANGELOG.md | 1 + .../lib/block_scout_web/views/address_view.ex | 6 -- apps/block_scout_web/priv/gettext/default.pot | 58 +++++++++---------- .../priv/gettext/en/LC_MESSAGES/default.po | 58 +++++++++---------- 4 files changed, 59 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d54097225..267740d4e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - [#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 +- [#1889](https://github.com/poanetwork/blockscout/pull/1889) - Verification links to other explorers ### Fixes 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 c777fd74a7..8f0d779bf6 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 @@ -264,12 +264,6 @@ defmodule BlockScoutWeb.AddressView do end end - def address_link_to_other_explorer(_, address, full), do: "" - - def address_link_to_other_explorer(_, _, full), do: "" - - def address_link_to_other_explorer(link, _, full), do: "" - defp matching_address_check(%Address{hash: hash} = current_address, %Address{hash: hash}, contract?, truncate) do [ view_module: __MODULE__, diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 6f198f8793..d8f7844409 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -145,7 +145,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:70 +#: lib/block_scout_web/templates/transaction/overview.html.eex:73 msgid "Block Confirmations" msgstr "" @@ -160,7 +160,7 @@ msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:56 +#: lib/block_scout_web/templates/transaction/overview.html.eex:59 msgid "Block Number" msgstr "" @@ -190,7 +190,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:27 #: 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 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Blocks Validated" msgstr "" @@ -207,8 +207,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:140 -#: lib/block_scout_web/templates/address/overview.html.eex:148 +#: lib/block_scout_web/templates/address/overview.html.eex:141 +#: lib/block_scout_web/templates/address/overview.html.eex:149 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" @@ -218,7 +218,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:37 #: 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 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Code" msgstr "" @@ -388,7 +388,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 -#: lib/block_scout_web/templates/transaction/overview.html.eex:207 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "" @@ -482,7 +482,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:55 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:297 +#: lib/block_scout_web/views/address_view.ex:305 #: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" @@ -500,7 +500,7 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:235 +#: lib/block_scout_web/templates/transaction/overview.html.eex:238 msgid "Limit" msgstr "" @@ -595,7 +595,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:71 -#: lib/block_scout_web/templates/transaction/overview.html.eex:77 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" msgstr "" @@ -671,7 +671,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:139 +#: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" @@ -685,7 +685,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:53 #: 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/address_view.ex:308 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -753,7 +753,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 -#: lib/block_scout_web/templates/transaction/overview.html.eex:82 +#: lib/block_scout_web/templates/transaction/overview.html.eex:85 msgid "TX Fee" msgstr "" @@ -855,8 +855,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:177 -#: lib/block_scout_web/templates/transaction/overview.html.eex:191 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" @@ -876,7 +876,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:295 +#: lib/block_scout_web/views/address_view.ex:303 msgid "Tokens" msgstr "" @@ -933,7 +933,7 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:296 +#: lib/block_scout_web/views/address_view.ex:304 msgid "Transactions" msgstr "" @@ -969,7 +969,7 @@ msgid "Unique Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:229 +#: lib/block_scout_web/templates/transaction/overview.html.eex:232 msgid "Used" msgstr "" @@ -990,7 +990,7 @@ msgid "Validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:207 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Value" msgstr "" @@ -1176,7 +1176,7 @@ msgid "This API is provided for developers transitioning their applications from msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:107 +#: lib/block_scout_web/templates/transaction/overview.html.eex:110 msgid "Raw Input" msgstr "" @@ -1365,7 +1365,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:301 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Coin Balance History" msgstr "" @@ -1612,18 +1612,18 @@ msgid "Transactions Sent" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:99 +#: lib/block_scout_web/templates/transaction/overview.html.eex:102 msgid "Transaction Speed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:113 -#: lib/block_scout_web/templates/transaction/overview.html.eex:117 +#: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:120 msgid "Hex (Default)" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:120 +#: lib/block_scout_web/templates/transaction/overview.html.eex:123 msgid "UTF-8" msgstr "" @@ -1674,7 +1674,7 @@ msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:299 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Decompiled Code" msgstr "" @@ -1699,12 +1699,12 @@ msgid "Optimization runs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:177 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 msgid "ERC-20" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:191 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 msgid "ERC-721" msgstr "" @@ -1729,7 +1729,7 @@ msgid "View All Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:225 +#: lib/block_scout_web/templates/transaction/overview.html.eex:228 msgid "Gas" 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 64201bee65..8680e42766 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 @@ -145,7 +145,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:70 +#: lib/block_scout_web/templates/transaction/overview.html.eex:73 msgid "Block Confirmations" msgstr "" @@ -160,7 +160,7 @@ msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:56 +#: lib/block_scout_web/templates/transaction/overview.html.eex:59 msgid "Block Number" msgstr "" @@ -190,7 +190,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:27 #: 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 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Blocks Validated" msgstr "" @@ -207,8 +207,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:140 -#: lib/block_scout_web/templates/address/overview.html.eex:148 +#: lib/block_scout_web/templates/address/overview.html.eex:141 +#: lib/block_scout_web/templates/address/overview.html.eex:149 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" @@ -218,7 +218,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:37 #: 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 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Code" msgstr "" @@ -388,7 +388,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 -#: lib/block_scout_web/templates/transaction/overview.html.eex:207 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "POA" @@ -482,7 +482,7 @@ msgstr "" #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:55 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:297 +#: lib/block_scout_web/views/address_view.ex:305 #: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" @@ -500,7 +500,7 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:235 +#: lib/block_scout_web/templates/transaction/overview.html.eex:238 msgid "Limit" msgstr "" @@ -595,7 +595,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:71 -#: lib/block_scout_web/templates/transaction/overview.html.eex:77 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" msgstr "" @@ -671,7 +671,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:139 +#: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" @@ -685,7 +685,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:53 #: 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/address_view.ex:308 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" @@ -753,7 +753,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 -#: lib/block_scout_web/templates/transaction/overview.html.eex:82 +#: lib/block_scout_web/templates/transaction/overview.html.eex:85 msgid "TX Fee" msgstr "" @@ -855,8 +855,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:177 -#: lib/block_scout_web/templates/transaction/overview.html.eex:191 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" @@ -876,7 +876,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:295 +#: lib/block_scout_web/views/address_view.ex:303 msgid "Tokens" msgstr "" @@ -933,7 +933,7 @@ msgstr "" #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:296 +#: lib/block_scout_web/views/address_view.ex:304 msgid "Transactions" msgstr "" @@ -969,7 +969,7 @@ msgid "Unique Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:229 +#: lib/block_scout_web/templates/transaction/overview.html.eex:232 msgid "Used" msgstr "" @@ -990,7 +990,7 @@ msgid "Validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:207 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Value" msgstr "" @@ -1176,7 +1176,7 @@ msgid "This API is provided for developers transitioning their applications from msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:107 +#: lib/block_scout_web/templates/transaction/overview.html.eex:110 msgid "Raw Input" msgstr "" @@ -1365,7 +1365,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:301 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Coin Balance History" msgstr "" @@ -1612,18 +1612,18 @@ msgid "Transactions Sent" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:99 +#: lib/block_scout_web/templates/transaction/overview.html.eex:102 msgid "Transaction Speed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:113 -#: lib/block_scout_web/templates/transaction/overview.html.eex:117 +#: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:120 msgid "Hex (Default)" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:120 +#: lib/block_scout_web/templates/transaction/overview.html.eex:123 msgid "UTF-8" msgstr "" @@ -1674,7 +1674,7 @@ msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:299 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Decompiled Code" msgstr "" @@ -1699,12 +1699,12 @@ msgid "Optimization runs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:177 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 msgid "ERC-20" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:191 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 msgid "ERC-721" msgstr "" @@ -1729,7 +1729,7 @@ msgid "View All Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:225 +#: lib/block_scout_web/templates/transaction/overview.html.eex:228 msgid "Gas" msgstr "" From 7d25dc2860603ded8948c29a473c31f13e2ff835 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Sun, 5 May 2019 14:38:29 +0300 Subject: [PATCH 07/54] Update corresponding CHANGELOG entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 267740d4e8..de525d4a27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - [#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 -- [#1889](https://github.com/poanetwork/blockscout/pull/1889) - Verification links to other explorers +- [#1890](https://github.com/poanetwork/blockscout/pull/1890) - Verification links to other explorers for ETH Mainnet ### Fixes From 63c10472284b1aecafc98667c89b8db495cbf3e4 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Tue, 21 May 2019 17:33:30 +0300 Subject: [PATCH 08/54] gettext fix --- apps/block_scout_web/priv/gettext/default.pot | 4 ++-- .../priv/gettext/en/LC_MESSAGES/default.po | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 73aa2604f0..afab9ebdec 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -505,7 +505,7 @@ msgstr "" #: 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/address_view.ex:311 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" @@ -594,7 +594,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:77 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" 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 d1ed57d2ee..ba97f8ef18 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 @@ -505,7 +505,7 @@ msgstr "" #: 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/address_view.ex:311 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" @@ -594,7 +594,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:77 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" msgstr "" @@ -1748,12 +1748,12 @@ msgstr "" msgid "of" msgstr "" -#, elixir-format, fuzzy +#, 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 +1763,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 +1773,7 @@ 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 "" From 4ef2fca796eddcf6f1de82761dde87ba0a109571 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 14:16:43 +0300 Subject: [PATCH 09/54] make address-token tab async --- .../controllers/address_token_controller.ex | 62 +++++++++++++++---- .../templates/address_token/index.html.eex | 47 ++++---------- 2 files changed, 60 insertions(+), 49 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex index 77db1b363f..ed52c25c87 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex @@ -1,29 +1,49 @@ defmodule BlockScoutWeb.AddressTokenController do use BlockScoutWeb, :controller + import BlockScoutWeb.AddressController, only: [transaction_count: 1, validation_count: 1] + import BlockScoutWeb.Chain, only: [next_page_params: 3, paging_options: 1, split_list_by_page: 1] + + alias BlockScoutWeb.AddressTokenView alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token alias Indexer.Fetcher.CoinBalanceOnDemand + alias Phoenix.View - import BlockScoutWeb.AddressController, only: [transaction_count: 1, validation_count: 1] - import BlockScoutWeb.Chain, only: [next_page_params: 3, paging_options: 1, split_list_by_page: 1] - - def index(conn, %{"address_id" => address_hash_string} = params) do + def index(conn, %{"address_id" => address_hash_string, "type" => "JSON"} = params) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, address} <- Chain.hash_to_address(address_hash) do tokens_plus_one = Chain.address_tokens_with_balance(address_hash, paging_options(params)) {tokens, next_page} = split_list_by_page(tokens_plus_one) - render( + next_page_path = + case next_page_params(next_page, tokens, params) do + nil -> + nil + + next_page_params -> + address_token_path(conn, :index, address, Map.delete(next_page_params, "type")) + end + + items = + tokens + |> Market.add_price() + |> Enum.map(fn token -> + View.render_to_string( + AddressTokenView, + "_tokens.html", + token: token, + address: address, + conn: conn + ) + end) + + json( conn, - "index.html", - address: address, - 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_params: next_page_params(next_page, tokens, params), - tokens: Market.add_price(tokens) + %{ + items: items, + next_page_path: next_page_path + } ) else :error -> @@ -33,4 +53,20 @@ defmodule BlockScoutWeb.AddressTokenController do not_found(conn) end end + + 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 + render( + conn, + "index.html", + address: address, + current_path: current_path(conn), + 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) + ) + end + end end diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex index 0f8ae6efb1..43457d3bc1 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_token/index.html.eex @@ -4,49 +4,24 @@
<%= render BlockScoutWeb.AddressView, "_tabs.html", assigns %> -
+

<%= gettext "Tokens" %>

- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: address_token_path(@conn, :index, @address, @next_page_params) %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> - <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> - <% end %> + - <%= if Enum.any?(@tokens) do %> - <%= for token <- @tokens do %> - <%= render "_tokens.html", conn: @conn, token: token, address: @address %> - <% end %> - <% else %> -
- <%= gettext "There are no tokens for this address." %> +
+
+ <%= gettext "There are no tokens for this address." %>
- <% end %> +
- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, next_page_path: address_token_path(@conn, :index, @address, @next_page_params) %> - <% end %> +
- <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true %> - <% end %> - - + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %>
From 2b278387b63810738a9f190c1e57e6f555ec6d22 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 15:02:17 +0300 Subject: [PATCH 10/54] make logs loading async --- .../controllers/address_logs_controller.ex | 38 +++++++-- .../templates/address_logs/_logs.html.eex | 54 ++++++++++++ .../templates/address_logs/index.html.eex | 84 ++++--------------- apps/block_scout_web/priv/gettext/default.pot | 19 ++--- .../priv/gettext/en/LC_MESSAGES/default.po | 20 ++--- 5 files changed, 119 insertions(+), 96 deletions(-) create mode 100644 apps/block_scout_web/lib/block_scout_web/templates/address_logs/_logs.html.eex 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 index f79d9aa08d..56be858452 100644 --- 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 @@ -6,13 +6,15 @@ defmodule BlockScoutWeb.AddressLogsController do 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 BlockScoutWeb.AddressLogsView alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token alias Indexer.Fetcher.CoinBalanceOnDemand + alias Phoenix.View use BlockScoutWeb, :controller - def index(conn, %{"address_id" => address_hash_string} = params) do + def index(conn, %{"address_id" => address_hash_string, "type" => "JSON"} = 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)) @@ -24,19 +26,45 @@ defmodule BlockScoutWeb.AddressLogsController do nil next_page_params -> - address_logs_path(conn, :index, address, next_page_params) + address_logs_path(conn, :index, address, Map.delete(next_page_params, "type")) end + items = + results + |> Enum.map(fn log -> + View.render_to_string( + AddressLogsView, + "_logs.html", + log: log, + conn: conn + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_url + } + ) + else + _ -> + not_found(conn) + end + end + + def index(conn, %{"address_id" => address_hash_string}) do + with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), + {:ok, address} <- Chain.hash_to_address(address_hash) do render( conn, "index.html", address: address, - logs: results, + current_path: current_path(conn), 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 + validation_count: validation_count(address) ) else _ -> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address_logs/_logs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/_logs.html.eex new file mode 100644 index 0000000000..9d85567233 --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/templates/address_logs/_logs.html.eex @@ -0,0 +1,54 @@ +
+
+
<%= 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 %> +
+
+
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 index 22f446924f..9053158442 100644 --- 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 @@ -3,80 +3,26 @@
<%= 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 %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> - <%= 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 %> -
-
+
+
+ <%= gettext "There are no logs for this address." %>
- <% end %> - <% else %> -
- <%= gettext "There are no logs for this address." %> -
- <% end %> +
+ +
+ + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> +
+
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 1de0664736..8f9a685d5e 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -329,7 +329,7 @@ msgid "Curl" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:63 +#: lib/block_scout_web/templates/address_logs/_logs.html.eex:44 #: 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 @@ -502,7 +502,7 @@ 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/address_logs/index.html.eex:7 #: 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:301 @@ -576,11 +576,6 @@ msgstr "" msgid "Newer" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/address_token/index.html.eex:39 -msgid "Next" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" @@ -765,7 +760,7 @@ msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token/index.html.eex:24 +#: lib/block_scout_web/templates/address_token/index.html.eex:18 msgid "There are no tokens for this address." msgstr "" @@ -857,7 +852,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/address_logs/_logs.html.eex:14 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" @@ -878,7 +873,7 @@ msgid "Total transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/templates/address_logs/_logs.html.eex:3 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" @@ -1282,6 +1277,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_logs/index.html.eex:12 +#: lib/block_scout_web/templates/address_token/index.html.eex:13 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 @@ -1735,6 +1732,6 @@ msgid "Displaying the init data provided of the creating transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:77 +#: lib/block_scout_web/templates/address_logs/index.html.eex:17 msgid "There are no logs for this address." 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 0a763e8878..3f846b17de 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 @@ -329,7 +329,7 @@ msgid "Curl" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:63 +#: lib/block_scout_web/templates/address_logs/_logs.html.eex:44 #: 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 @@ -502,7 +502,7 @@ 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/address_logs/index.html.eex:7 #: 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:301 @@ -576,11 +576,6 @@ msgstr "" msgid "Newer" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/address_token/index.html.eex:39 -msgid "Next" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" @@ -765,7 +760,7 @@ msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_token/index.html.eex:24 +#: lib/block_scout_web/templates/address_token/index.html.eex:18 msgid "There are no tokens for this address." msgstr "" @@ -857,7 +852,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/address_logs/_logs.html.eex:14 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" @@ -878,7 +873,7 @@ msgid "Total transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/templates/address_logs/_logs.html.eex:3 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" @@ -1110,6 +1105,7 @@ msgstr "" msgid "GraphQL" msgstr "" +#, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 msgid "Loading" msgstr "" @@ -1281,6 +1277,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_logs/index.html.eex:12 +#: lib/block_scout_web/templates/address_token/index.html.eex:13 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 @@ -1734,6 +1732,6 @@ msgid "Displaying the init data provided of the creating transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/address_logs/index.html.eex:77 +#: lib/block_scout_web/templates/address_logs/index.html.eex:17 msgid "There are no logs for this address." msgstr "" From 286ec31376ed44e4f5ac9af2ad7f2b97ed85ce72 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Thu, 23 May 2019 16:29:59 +0300 Subject: [PATCH 11/54] fix address_token_controller tests --- .../controllers/address_token_controller.ex | 6 +++ .../address_token_controller_test.exs | 44 ++++++++++++------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex index ed52c25c87..312b90176b 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/address_token_controller.ex @@ -67,6 +67,12 @@ defmodule BlockScoutWeb.AddressTokenController do transaction_count: transaction_count(address), validation_count: validation_count(address) ) + else + :error -> + unprocessable_entity(conn) + + {:error, :not_found} -> + not_found(conn) end end end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs index 0b4008611f..31a1c2c5cf 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/address_token_controller_test.exs @@ -57,15 +57,15 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do to_address: address ) - conn = get(conn, address_token_path(conn, :index, address)) + conn = get(conn, address_token_path(conn, :index, address), type: "JSON") - actual_token_hashes = - conn.assigns.tokens - |> Enum.map(& &1.contract_address_hash) + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() - assert html_response(conn, 200) - assert Enum.member?(actual_token_hashes, token1.contract_address_hash) - refute Enum.member?(actual_token_hashes, token2.contract_address_hash) + assert json_response(conn, 200) + assert Enum.any?(items, fn item -> String.contains?(item, to_string(token1.contract_address_hash)) end) + refute Enum.any?(items, fn item -> String.contains?(item, to_string(token2.contract_address_hash)) end) end test "returns next page of results based on last seen token", %{conn: conn} do @@ -102,15 +102,17 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), %{ "token_name" => name, "token_type" => type, - "token_inserted_at" => inserted_at + "token_inserted_at" => inserted_at, + "type" => "JSON" }) - actual_tokens = - conn.assigns.tokens - |> Enum.map(& &1.name) - |> Enum.sort() + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() - assert second_page_tokens == actual_tokens + assert Enum.any?(items, fn item -> + Enum.any?(second_page_tokens, fn token_name -> String.contains?(item, token_name) end) + end) end test "next_page_params exists if not on last page", %{conn: conn} do @@ -129,9 +131,13 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do insert(:token_transfer, token_contract_address: token.contract_address, from_address: address) end) - conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash)) + conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), type: "JSON") + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - assert conn.assigns.next_page_params + assert next_page_path end test "next_page_params are empty if on last page", %{conn: conn} do @@ -139,9 +145,13 @@ defmodule BlockScoutWeb.AddressTokenControllerTest do token = insert(:token) insert(:token_transfer, token_contract_address: token.contract_address, from_address: address) - conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash)) + conn = get(conn, address_token_path(BlockScoutWeb.Endpoint, :index, address.hash), type: "JSON") + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - refute conn.assigns.next_page_params + refute next_page_path end end end From 6a065bf20e70c4805a12bf30d845c2dffd000818 Mon Sep 17 00:00:00 2001 From: zachdaniel Date: Thu, 23 May 2019 14:36:23 -0400 Subject: [PATCH 12/54] fix: fix to/from filters on tx list pages --- CHANGELOG.md | 1 + apps/explorer/lib/explorer/chain/token_transfer.ex | 4 ++-- apps/explorer/test/explorer/chain/token_transfer_test.exs | 8 ++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbf41bcaa9..d474d3d38e 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 +- [#2017](https://github.com/poanetwork/blockscout/pull/2017) - fix: fix to/from filters on tx list pages ### Chore diff --git a/apps/explorer/lib/explorer/chain/token_transfer.ex b/apps/explorer/lib/explorer/chain/token_transfer.ex index 6dd5a547d7..fa7ba99347 100644 --- a/apps/explorer/lib/explorer/chain/token_transfer.ex +++ b/apps/explorer/lib/explorer/chain/token_transfer.ex @@ -175,7 +175,7 @@ defmodule Explorer.Chain.TokenTransfer do from( tt in TokenTransfer, where: tt.to_address_hash == ^address_hash, - select: tt.transaction_hash + select: type(tt.transaction_hash, :binary) ) query @@ -189,7 +189,7 @@ defmodule Explorer.Chain.TokenTransfer do from( tt in TokenTransfer, where: tt.from_address_hash == ^address_hash, - select: tt.transaction_hash + select: type(tt.transaction_hash, :binary) ) query diff --git a/apps/explorer/test/explorer/chain/token_transfer_test.exs b/apps/explorer/test/explorer/chain/token_transfer_test.exs index 35741b78b9..5d9608e66b 100644 --- a/apps/explorer/test/explorer/chain/token_transfer_test.exs +++ b/apps/explorer/test/explorer/chain/token_transfer_test.exs @@ -247,9 +247,11 @@ defmodule Explorer.Chain.TokenTransferTest do amount: 1 ) + {:ok, transaction_bytes} = Explorer.Chain.Hash.Full.dump(transaction.hash) + transactions_hashes = TokenTransfer.where_any_address_fields_match(:to, paul.hash, %PagingOptions{page_size: 1}) - assert Enum.member?(transactions_hashes, transaction.hash) == true + assert Enum.member?(transactions_hashes, transaction_bytes) == true end test "when from_address_hash match returns transactions hashes list" do @@ -283,9 +285,11 @@ defmodule Explorer.Chain.TokenTransferTest do amount: 1 ) + {:ok, transaction_bytes} = Explorer.Chain.Hash.Full.dump(transaction.hash) + transactions_hashes = TokenTransfer.where_any_address_fields_match(:from, john.hash, %PagingOptions{page_size: 1}) - assert Enum.member?(transactions_hashes, transaction.hash) == true + assert Enum.member?(transactions_hashes, transaction_bytes) == true end test "when to_from_address_hash or from_address_hash match returns transactions hashes list" do From 5996598dae74ec976d17d22365e816c4a152aad6 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 11:53:17 +0300 Subject: [PATCH 13/54] make transaction logs tab async --- .../controllers/transaction_log_controller.ex | 64 ++++++- .../templates/transaction_log/_logs.html.eex | 123 +++++++++++++ .../templates/transaction_log/index.html.eex | 169 ++---------------- 3 files changed, 195 insertions(+), 161 deletions(-) create mode 100644 apps/block_scout_web/lib/block_scout_web/templates/transaction_log/_logs.html.eex diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex index 8b4e3877e0..2735d265f1 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex @@ -4,10 +4,12 @@ defmodule BlockScoutWeb.TransactionLogController do import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] alias BlockScoutWeb.TransactionView + alias BlockScoutWeb.TransactionLogView alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token + alias Phoenix.View - def index(conn, %{"transaction_id" => transaction_hash_string} = params) do + def index(conn, %{"transaction_id" => transaction_hash_string, "type" => "JSON"} = params) do with {:ok, transaction_hash} <- Chain.string_to_transaction_hash(transaction_hash_string), {:ok, transaction} <- Chain.hash_to_transaction( @@ -35,13 +37,69 @@ defmodule BlockScoutWeb.TransactionLogController do {logs, next_page} = split_list_by_page(logs_plus_one) + next_page_url = + case next_page_params(next_page, logs, params) do + nil -> + nil + + next_page_params -> + transaction_log_path(conn, :index, transaction, Map.delete(next_page_params, "type")) + end + + items = + logs + |> Enum.map(fn log -> + View.render_to_string( + TransactionLogView, + "_logs.html", + log: log, + conn: conn, + transaction: transaction + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_url + } + ) + else + :error -> + conn + |> put_status(422) + |> put_view(TransactionView) + |> render("invalid.html", transaction_hash: transaction_hash_string) + + {:error, :not_found} -> + conn + |> put_status(404) + |> put_view(TransactionView) + |> render("not_found.html", transaction_hash: transaction_hash_string) + end + end + + def index(conn, %{"transaction_id" => transaction_hash_string}) do + with {:ok, transaction_hash} <- Chain.string_to_transaction_hash(transaction_hash_string), + {:ok, transaction} <- + Chain.hash_to_transaction( + transaction_hash, + necessity_by_association: %{ + :block => :optional, + [created_contract_address: :names] => :optional, + [from_address: :names] => :required, + [to_address: :names] => :optional, + [to_address: :smart_contract] => :optional, + :token_transfers => :optional + } + ) do render( conn, "index.html", - logs: logs, block_height: Chain.block_height(), show_token_transfers: Chain.transaction_has_token_transfers?(transaction_hash), - next_page_params: next_page_params(next_page, logs, params), + current_path: current_path(conn), transaction: transaction, exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null() ) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/_logs.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/_logs.html.eex new file mode 100644 index 0000000000..5a52821601 --- /dev/null +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/_logs.html.eex @@ -0,0 +1,123 @@ +
+
+
<%= gettext "Address" %>
+
+

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

+
+
<%= gettext "Decoded" %>
+
+ <%= case decode(@log, @transaction) do %> + <% {:error, :contract_not_verified} -> %> +
+ <%= gettext "To see decoded input data, the contract must be verified." %> + <%= case @transaction do %> + <% %{to_address: %{hash: hash}} -> %> + <%= gettext "Verify the contract " %><%= gettext "here" %> + <% _ -> %> + <%= nil %> + <% end %> +
+ <% {:error, :could_not_decode} -> %> +
+ <%= gettext "Failed to decode log data." %> +
+ <% {:ok, method_id, text, mapping} -> %> + + + + + + + + + +
Method Id0x<%= method_id %>
Call<%= text %>
+ " class="table thead-light table-bordered table-responsive"> + + + + + + + + <%= for {name, type, indexed?, value} <- mapping do %> + + + + + + + + <% end %> +
<%= gettext "Name" %><%= gettext "Type" %><%= gettext "Indexed?" %><%= gettext "Data" %>
+ <%= case BlockScoutWeb.ABIEncodedValueView.copy_text(type, value) do %> + <% :error -> %> + <%= nil %> + <% copy_text -> %> + + + + + + <% end %> + <%= name %><%= type %><%= indexed? %> +
<%= BlockScoutWeb.ABIEncodedValueView.value_html(type, value) %>
+
+ <% _ -> %> + <%= nil %> + <% end %> + +
<%= 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 %> +
+
+
diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/index.html.eex index b0e8260d4e..3c84e7c4f9 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction_log/index.html.eex @@ -4,172 +4,25 @@
<%= render BlockScoutWeb.TransactionView, "_tabs.html", assigns %> -
+

<%= gettext "Logs" %>

- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_log_path(@conn,:index, @transaction, @next_page_params) %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> - <%= if !@next_page_params 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 "Address" %>
-
-

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

-
-
<%= gettext "Decoded" %>
-
- <%= case decode(log, @transaction) do %> - <% {:error, :contract_not_verified} -> %> -
- <%= gettext "To see decoded input data, the contract must be verified." %> - <%= case @transaction do %> - <% %{to_address: %{hash: hash}} -> %> - <%= gettext "Verify the contract " %><%= gettext "here" %> - <% _ -> %> - <%= nil %> - <% end %> -
- <% {:error, :could_not_decode} -> %> -
- <%= gettext "Failed to decode log data." %> -
- <% {:ok, method_id, text, mapping} -> %> - - - - - - - - - -
Method Id0x<%= method_id %>
Call<%= text %>
- " class="table thead-light table-bordered table-responsive"> - - - - - - - - <%= for {name, type, indexed?, value} <- mapping do %> - - - - - - - - <% end %> -
<%= gettext "Name" %><%= gettext "Type" %><%= gettext "Indexed?" %><%= gettext "Data" %>
- <%= case BlockScoutWeb.ABIEncodedValueView.copy_text(type, value) do %> - <% :error -> %> - <%= nil %> - <% copy_text -> %> - - - - - - <% end %> - <%= name %><%= type %><%= indexed? %> -
<%= BlockScoutWeb.ABIEncodedValueView.value_html(type, value) %>
-
- <% _ -> %> - <%= nil %> - <% end %> - -
-
<%= 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 %> -
-
+
+
+ <%= gettext "There are no logs for this transaction." %>
- <% end %> - <% else %> -
- <%= gettext "There are no logs for this transaction." %> -
- <% end %> +
- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_log_path(@conn,:index, @transaction, @next_page_params) %> - <% end %> +
- <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> -
From 474e29b7dc8b28a8d8a86f65fabb736cf44704b3 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 12:45:57 +0300 Subject: [PATCH 14/54] fix transaction log tests --- .../transaction_log_controller_test.exs | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/apps/block_scout_web/test/block_scout_web/controllers/transaction_log_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/transaction_log_controller_test.exs index e87405804e..05c7638d52 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/transaction_log_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/transaction_log_controller_test.exs @@ -31,11 +31,12 @@ defmodule BlockScoutWeb.TransactionLogControllerTest do address = insert(:address) insert(:log, address: address, transaction: transaction) - conn = get(conn, transaction_log_path(conn, :index, transaction)) + conn = get(conn, transaction_log_path(conn, :index, transaction), %{type: "JSON"}) - first_log = List.first(conn.assigns.logs) + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() + first_log = List.first(items) - assert first_log.transaction_hash == transaction.hash + assert String.contains?(first_log, to_string(address.hash)) end test "returns logs for the transaction with nil to_address", %{conn: conn} do @@ -47,20 +48,23 @@ defmodule BlockScoutWeb.TransactionLogControllerTest do address = insert(:address) insert(:log, address: address, transaction: transaction) - conn = get(conn, transaction_log_path(conn, :index, transaction)) + conn = get(conn, transaction_log_path(conn, :index, transaction), %{type: "JSON"}) - first_log = List.first(conn.assigns.logs) + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() + first_log = List.first(items) - assert first_log.transaction_hash == transaction.hash + assert String.contains?(first_log, to_string(address.hash)) end test "assigns no logs when there are none", %{conn: conn} do transaction = insert(:transaction) path = transaction_log_path(conn, :index, transaction) - conn = get(conn, path) + conn = get(conn, path, %{type: "JSON"}) - assert Enum.count(conn.assigns.logs) == 0 + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() + + assert Enum.empty?(items) end test "returns next page of results based on last seen transaction log", %{conn: conn} do @@ -78,15 +82,16 @@ defmodule BlockScoutWeb.TransactionLogControllerTest do conn = get(conn, transaction_log_path(conn, :index, transaction), %{ - "index" => Integer.to_string(log.index) + "index" => Integer.to_string(log.index), + "type" => "JSON" }) - actual_indexes = Enum.map(conn.assigns.logs, & &1.index) + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() - assert second_page_indexes == actual_indexes + assert Enum.count(items) == Enum.count(second_page_indexes) end - test "next_page_params exist if not on last page", %{conn: conn} do + test "next_page_path exists if not on last page", %{conn: conn} do transaction = :transaction |> insert() @@ -95,20 +100,24 @@ defmodule BlockScoutWeb.TransactionLogControllerTest do 1..60 |> Enum.map(fn index -> insert(:log, transaction: transaction, index: index) end) - conn = get(conn, transaction_log_path(conn, :index, transaction)) + conn = get(conn, transaction_log_path(conn, :index, transaction), %{type: "JSON"}) + + {:ok, %{"next_page_path" => path}} = conn.resp_body |> Poison.decode() - assert %{"index" => 50} = conn.assigns.next_page_params + assert path end - test "next_page_params are empty if on last page", %{conn: conn} do + test "next_page_path is empty if on last page", %{conn: conn} do transaction = :transaction |> insert() |> with_block() - conn = get(conn, transaction_log_path(conn, :index, transaction)) + conn = get(conn, transaction_log_path(conn, :index, transaction), %{type: "JSON"}) + + {:ok, %{"next_page_path" => path}} = conn.resp_body |> Poison.decode() - refute conn.assigns.next_page_params + refute path end end From c94a7b068f1b08045612d6efd092ec13c3336ee3 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 12:49:20 +0300 Subject: [PATCH 15/54] fix credo, gettext --- .../controllers/transaction_log_controller.ex | 3 +- apps/block_scout_web/priv/gettext/default.pot | 32 +++++++++---------- .../priv/gettext/en/LC_MESSAGES/default.po | 32 +++++++++---------- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex index 2735d265f1..7b580419f4 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex @@ -3,8 +3,7 @@ defmodule BlockScoutWeb.TransactionLogController do import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] - alias BlockScoutWeb.TransactionView - alias BlockScoutWeb.TransactionLogView + alias BlockScoutWeb.{TransactionLogView, TransactionView} alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token alias Phoenix.View diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 8f9a685d5e..8421041fde 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -98,7 +98,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:3 #: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" @@ -331,8 +331,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:44 #: 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 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:113 msgid "Data" msgstr "" @@ -560,7 +560,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:45 msgid "Name" msgstr "" @@ -572,7 +572,6 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" @@ -745,7 +744,7 @@ msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:18 msgid "There are no logs for this transaction." msgstr "" @@ -853,7 +852,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:14 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:83 msgid "Topics" msgstr "" @@ -1201,18 +1200,18 @@ msgid "Static Call" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:14 msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:47 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:46 msgid "Type" msgstr "" @@ -1222,7 +1221,7 @@ msgid "Method Id" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 msgid "To see decoded input data, the contract must be verified." msgstr "" @@ -1238,13 +1237,13 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:22 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:22 msgid "here" msgstr "" @@ -1260,17 +1259,17 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:58 msgid "Copy Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:29 msgid "Failed to decode log data." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:42 msgid "Log Data" msgstr "" @@ -1287,6 +1286,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:13 msgid "Something went wrong, click to reload." 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 3f846b17de..0a756d78d6 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 @@ -98,7 +98,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:3 #: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" @@ -331,8 +331,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:44 #: 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 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:113 msgid "Data" msgstr "" @@ -560,7 +560,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:45 msgid "Name" msgstr "" @@ -572,7 +572,6 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" @@ -745,7 +744,7 @@ msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:18 msgid "There are no logs for this transaction." msgstr "" @@ -853,7 +852,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/_logs.html.eex:14 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:83 msgid "Topics" msgstr "" @@ -1201,18 +1200,18 @@ msgid "Static Call" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:14 msgid "Decoded" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:47 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:46 msgid "Type" msgstr "" @@ -1222,7 +1221,7 @@ msgid "Method Id" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:19 msgid "To see decoded input data, the contract must be verified." msgstr "" @@ -1238,13 +1237,13 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:22 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:22 msgid "here" msgstr "" @@ -1260,17 +1259,17 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:58 msgid "Copy Value" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:29 msgid "Failed to decode log data." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 +#: lib/block_scout_web/templates/transaction_log/_logs.html.eex:42 msgid "Log Data" msgstr "" @@ -1287,6 +1286,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:13 msgid "Something went wrong, click to reload." msgstr "" From 3cf9498732385f71c3bb064dd0019dd768af02dc Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 13:01:02 +0300 Subject: [PATCH 16/54] Use PORT env variable in dev config --- apps/block_scout_web/config/dev.exs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/config/dev.exs b/apps/block_scout_web/config/dev.exs index ae05490a86..27ce5aff40 100644 --- a/apps/block_scout_web/config/dev.exs +++ b/apps/block_scout_web/config/dev.exs @@ -6,10 +6,18 @@ use Mix.Config # The watchers configuration can be used to run external # watchers to your application. For example, we use it # with webpack to recompile .js and .css sources. + +port = + case System.get_env("PORT") && Integer.parse(System.get_env("PORT")) do + {port, _} -> port + :error -> nil + nil -> nil + end + config :block_scout_web, BlockScoutWeb.Endpoint, - http: [port: 4000], + http: [port: port || 4000], https: [ - port: 4001, + port: (port && port + 1) || 4001, cipher_suite: :strong, certfile: System.get_env("CERTFILE") || "priv/cert/selfsigned.pem", keyfile: System.get_env("KEYFILE") || "priv/cert/selfsigned_key.pem" From 0271775cd15a1b00aab618347fcf0d1a9f69602b Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 13:02:52 +0300 Subject: [PATCH 17/54] Add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4edae41dad..051d6db16d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ - [#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 +- [#2018](https://github.com/poanetwork/blockscout/pull/2018) - Use PORT env variable in dev config ## 1.3.14-beta From 8a872407f8e5d82a44ff534cbdeb8c5ac23f375a Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 13:49:21 +0300 Subject: [PATCH 18/54] trimmed verification link --- .../lib/block_scout_web/views/address_view.ex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 37073f0509..657873f6ba 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 @@ -232,6 +232,13 @@ defmodule BlockScoutWeb.AddressView do def trimmed_hash(_), do: "" + def trimmed_verify_link(hash) do + string_hash = to_string(hash) + "#{String.slice(string_hash, 0..21)}..." + end + + def trimmed_verify_link(_), do: "" + def transaction_hash(%Address{contracts_creation_internal_transaction: %InternalTransaction{}} = address) do address.contracts_creation_internal_transaction.transaction_hash end @@ -258,7 +265,7 @@ defmodule BlockScoutWeb.AddressView do if full do link <> to_string(address) else - link <> trimmed_hash(address) + trimmed_verify_link(link <> to_string(address)) end end From b193b89ac41a3e6e76a388ce0515ca6d4c99f537 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 13:51:49 +0300 Subject: [PATCH 19/54] add transaction token transfer tab async --- .../transaction_token_transfer_controller.ex | 64 +++++++++++++++++-- .../transaction_token_transfer/index.html.eex | 32 ++++------ 2 files changed, 71 insertions(+), 25 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex index baa36f1a2f..a750a75076 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex @@ -3,11 +3,12 @@ defmodule BlockScoutWeb.TransactionTokenTransferController do import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] - alias BlockScoutWeb.TransactionView + alias BlockScoutWeb.{TransactionTokenTransferView, TransactionView} alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token + alias Phoenix.View - def index(conn, %{"transaction_id" => hash_string} = params) do + def index(conn, %{"transaction_id" => hash_string, "type" => "JSON"} = params) do with {:ok, hash} <- Chain.string_to_transaction_hash(hash_string), {:ok, transaction} <- Chain.hash_to_transaction( @@ -37,13 +38,68 @@ defmodule BlockScoutWeb.TransactionTokenTransferController do {token_transfers, next_page} = split_list_by_page(token_transfers_plus_one) + next_page_url = + case next_page_params(next_page, token_transfers, params) do + nil -> + nil + + next_page_params -> + transaction_token_transfer_path(conn, :index, transaction, Map.delete(next_page_params, "type")) + end + + items = + token_transfers + |> Enum.map(fn transfer -> + View.render_to_string( + TransactionTokenTransferView, + "_token_transfer.html", + token_transfer: transfer, + conn: conn + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_url + } + ) + else + :error -> + conn + |> put_status(422) + |> put_view(TransactionView) + |> render("invalid.html", transaction_hash: hash_string) + + {:error, :not_found} -> + conn + |> put_status(404) + |> put_view(TransactionView) + |> render("not_found.html", transaction_hash: hash_string) + end + end + + def index(conn, %{"transaction_id" => hash_string}) do + with {:ok, hash} <- Chain.string_to_transaction_hash(hash_string), + {:ok, transaction} <- + Chain.hash_to_transaction( + hash, + necessity_by_association: %{ + :block => :optional, + [created_contract_address: :names] => :optional, + [from_address: :names] => :optional, + [to_address: :names] => :optional, + [to_address: :smart_contract] => :optional, + :token_transfers => :optional + } + ) do render( conn, "index.html", exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), block_height: Chain.block_height(), - next_page_params: next_page_params(next_page, token_transfers, params), - token_transfers: token_transfers, + current_path: current_path(conn), show_token_transfers: true, transaction: transaction ) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction_token_transfer/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction_token_transfer/index.html.eex index 53ef700b14..d40dedd414 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction_token_transfer/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction_token_transfer/index.html.eex @@ -3,34 +3,24 @@
<%= render BlockScoutWeb.TransactionView, "_tabs.html", assigns %> -
+

<%= gettext "Token Transfers" %>

- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_token_transfer_path(@conn, :index, @transaction, @next_page_params) %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> - <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> - <% end %> + - <%= if Enum.any?(@token_transfers) do %> - <%= for token_transfer <- @token_transfers do %> - <%= render "_token_transfer.html", token_transfer: token_transfer, conn: @conn %> - <% end %> - <% else %> -
- <%= gettext "There are no token transfers for this transaction." %> +
+
+ <%= gettext "There are no token transfers for this transaction" %> +
- <% end %> - <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_token_transfer_path(@conn, :index, @transaction, @next_page_params) %> - <% end %> +
- <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %>
From 0bb122d8b9f9e1b7b0706a31e705823d5dac5c10 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Fri, 24 May 2019 13:53:56 +0300 Subject: [PATCH 20/54] Remove unused function clause --- apps/block_scout_web/lib/block_scout_web/views/address_view.ex | 2 -- 1 file changed, 2 deletions(-) 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 657873f6ba..4c49c3624d 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 @@ -237,8 +237,6 @@ defmodule BlockScoutWeb.AddressView do "#{String.slice(string_hash, 0..21)}..." end - def trimmed_verify_link(_), do: "" - def transaction_hash(%Address{contracts_creation_internal_transaction: %InternalTransaction{}} = address) do address.contracts_creation_internal_transaction.transaction_hash end From c598dba4369c27e999978c0f48e0b86d77994370 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 14:18:10 +0300 Subject: [PATCH 21/54] fix transaction token transfer tests --- apps/block_scout_web/priv/gettext/default.pot | 11 ++--- .../priv/gettext/en/LC_MESSAGES/default.po | 11 ++--- ...saction_token_transfer_controller_test.exs | 42 ++++++++++--------- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 8421041fde..23cdec5a5b 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -753,11 +753,6 @@ msgstr "" msgid "There are no token transfers for this address." msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 -msgid "There are no token transfers for this transaction." -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:18 msgid "There are no tokens for this address." @@ -1287,6 +1282,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 #: lib/block_scout_web/templates/transaction_log/index.html.eex:13 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:12 msgid "Something went wrong, click to reload." msgstr "" @@ -1735,3 +1731,8 @@ msgstr "" #: lib/block_scout_web/templates/address_logs/index.html.eex:17 msgid "There are no logs for this address." msgstr "" + +#, elixir-format +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:17 +msgid "There are no token transfers for this transaction" +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 0a756d78d6..709b0d3c55 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 @@ -753,11 +753,6 @@ msgstr "" msgid "There are no token transfers for this address." msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 -msgid "There are no token transfers for this transaction." -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:18 msgid "There are no tokens for this address." @@ -1287,6 +1282,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 #: lib/block_scout_web/templates/transaction_log/index.html.eex:13 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:12 msgid "Something went wrong, click to reload." msgstr "" @@ -1735,3 +1731,8 @@ msgstr "" #: lib/block_scout_web/templates/address_logs/index.html.eex:17 msgid "There are no logs for this address." msgstr "" + +#, elixir-format, fuzzy +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:17 +msgid "There are no token transfers for this transaction" +msgstr "" diff --git a/apps/block_scout_web/test/block_scout_web/controllers/transaction_token_transfer_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/transaction_token_transfer_controller_test.exs index 4ff1801610..ca183f5289 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/transaction_token_transfer_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/transaction_token_transfer_controller_test.exs @@ -48,24 +48,19 @@ defmodule BlockScoutWeb.TransactionTokenTransferControllerTest do test "includes token transfers for the transaction", %{conn: conn} do transaction = insert(:transaction) - expected_token_transfer = insert(:token_transfer, transaction: transaction) + insert(:token_transfer, transaction: transaction) insert(:token_transfer, transaction: transaction) path = transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash) - conn = get(conn, path) + conn = get(conn, path, %{type: "JSON"}) - actual_token_transfer_primary_keys = - conn.assigns.token_transfers - |> Enum.map(&{&1.transaction_hash, &1.log_index}) + assert json_response(conn, 200) - assert html_response(conn, 200) + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() - assert Enum.member?( - actual_token_transfer_primary_keys, - {expected_token_transfer.transaction_hash, expected_token_transfer.log_index} - ) + assert Enum.count(items) == 2 end test "includes USD exchange rate value for address in assigns", %{conn: conn} do @@ -82,7 +77,7 @@ defmodule BlockScoutWeb.TransactionTokenTransferControllerTest do |> insert() |> with_block() - token_transfer = insert(:token_transfer, transaction: transaction, block_number: 1000, log_index: 1) + insert(:token_transfer, transaction: transaction, block_number: 1000, log_index: 1) Enum.each(2..5, fn item -> insert(:token_transfer, transaction: transaction, block_number: item + 1001, log_index: item + 1) @@ -91,15 +86,16 @@ defmodule BlockScoutWeb.TransactionTokenTransferControllerTest do conn = get(conn, transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{ "block_number" => "1000", - "index" => "1" + "index" => "1", + "type" => "JSON" }) - actual_log_indexes = Enum.map(conn.assigns.token_transfers, & &1.log_index) + {:ok, %{"items" => items}} = conn.resp_body |> Poison.decode() - refute Enum.any?(actual_log_indexes, fn log_index -> log_index == token_transfer.log_index end) + refute Enum.count(items) == 3 end - test "next_page_params exist if not on last page", %{conn: conn} do + test "next_page_path exists if not on last page", %{conn: conn} do transaction = :transaction |> insert() @@ -114,12 +110,15 @@ defmodule BlockScoutWeb.TransactionTokenTransferControllerTest do ) end) - conn = get(conn, transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash)) + conn = + get(conn, transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{type: "JSON"}) - assert Enum.any?(conn.assigns.next_page_params) + {:ok, %{"next_page_path" => path}} = conn.resp_body |> Poison.decode() + + assert path end - test "next_page_params are empty if on last page", %{conn: conn} do + test "next_page_path is empty if on last page", %{conn: conn} do transaction = :transaction |> insert() @@ -134,9 +133,12 @@ defmodule BlockScoutWeb.TransactionTokenTransferControllerTest do ) end) - conn = get(conn, transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash)) + conn = + get(conn, transaction_token_transfer_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{type: "JSON"}) + + {:ok, %{"next_page_path" => path}} = conn.resp_body |> Poison.decode() - assert is_nil(conn.assigns.next_page_params) + refute path end test "preloads to_address smart contract verified", %{conn: conn} do From a31229d1bc20baa175619ddb303e14d5908be843 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 14:29:31 +0300 Subject: [PATCH 22/54] fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 15 ++++++++ .../priv/gettext/en/LC_MESSAGES/default.po | 37 ++++++++++++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 4ed19f85ed..7f2395276d 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1713,3 +1713,18 @@ msgstr "" #: 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 "" + +#, 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_token_transfer/index.html.eex:17 +msgid "There are no token transfers for this transaction" +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 29dba1f5b7..3631896f29 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 @@ -1692,4 +1692,39 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:17 msgid "There are no logs for this address." -msgstr "" \ No newline at end of file +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 "" + +#, 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, fuzzy +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:17 +msgid "There are no token transfers for this transaction" +msgstr "" From 454067f8f5e6eda4b1bba39263834325cf97330a Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 15:45:37 +0300 Subject: [PATCH 23/54] make block transaction async --- .../block_transaction_controller.ex | 80 ++++++++++++++++--- .../controllers/transaction_log_controller.ex | 12 +-- .../transaction_token_transfer_controller.ex | 12 +-- .../block_transaction/index.html.eex | 44 ++++------ 4 files changed, 85 insertions(+), 63 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/block_transaction_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/block_transaction_controller.ex index c61dff29b2..f54671e795 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/block_transaction_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/block_transaction_controller.ex @@ -5,20 +5,14 @@ defmodule BlockScoutWeb.BlockTransactionController do only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] import Explorer.Chain, only: [hash_to_block: 2, number_to_block: 2, string_to_block_hash: 1] + + alias BlockScoutWeb.TransactionView alias Explorer.Chain + alias Phoenix.View - def index(conn, %{"block_hash_or_number" => formatted_block_hash_or_number} = params) do + def index(conn, %{"block_hash_or_number" => formatted_block_hash_or_number, "type" => "JSON"} = params) do with {:ok, block} <- - param_block_hash_or_number_to_block(formatted_block_hash_or_number, - necessity_by_association: %{ - [miner: :names] => :required, - :uncles => :optional, - :nephews => :optional, - :rewards => :optional - } - ) do - block_transaction_count = Chain.block_to_transaction_count(block) - + param_block_hash_or_number_to_block(formatted_block_hash_or_number, []) do full_options = Keyword.merge( [ @@ -36,13 +30,73 @@ defmodule BlockScoutWeb.BlockTransactionController do {transactions, next_page} = split_list_by_page(transactions_plus_one) + next_page_path = + case next_page_params(next_page, transactions, params) do + nil -> + nil + + next_page_params -> + block_transaction_path( + conn, + :index, + block, + Map.delete(next_page_params, "type") + ) + end + + items = + transactions + |> Enum.map(fn transaction -> + View.render_to_string( + TransactionView, + "_tile.html", + transaction: transaction + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_path + } + ) + else + {:error, {:invalid, :hash}} -> + not_found(conn) + + {:error, {:invalid, :number}} -> + not_found(conn) + + {:error, :not_found} -> + conn + |> put_status(:not_found) + |> render( + "404.html", + block: nil, + block_above_tip: block_above_tip(formatted_block_hash_or_number) + ) + end + end + + def index(conn, %{"block_hash_or_number" => formatted_block_hash_or_number}) do + with {:ok, block} <- + param_block_hash_or_number_to_block(formatted_block_hash_or_number, + necessity_by_association: %{ + [miner: :names] => :required, + :uncles => :optional, + :nephews => :optional, + :rewards => :optional + } + ) do + block_transaction_count = Chain.block_to_transaction_count(block) + render( conn, "index.html", block: block, block_transaction_count: block_transaction_count, - next_page_params: next_page_params(next_page, transactions, params), - transactions: transactions + current_path: current_path(conn) ) else {:error, {:invalid, :hash}} -> diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex index 7b580419f4..0a87d12493 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_log_controller.ex @@ -11,17 +11,7 @@ defmodule BlockScoutWeb.TransactionLogController do def index(conn, %{"transaction_id" => transaction_hash_string, "type" => "JSON"} = params) do with {:ok, transaction_hash} <- Chain.string_to_transaction_hash(transaction_hash_string), {:ok, transaction} <- - Chain.hash_to_transaction( - transaction_hash, - necessity_by_association: %{ - :block => :optional, - [created_contract_address: :names] => :optional, - [from_address: :names] => :required, - [to_address: :names] => :optional, - [to_address: :smart_contract] => :optional, - :token_transfers => :optional - } - ) do + Chain.hash_to_transaction(transaction_hash) do full_options = Keyword.merge( [ diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex index a750a75076..cfb215da3e 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_token_transfer_controller.ex @@ -11,17 +11,7 @@ defmodule BlockScoutWeb.TransactionTokenTransferController do def index(conn, %{"transaction_id" => hash_string, "type" => "JSON"} = params) do with {:ok, hash} <- Chain.string_to_transaction_hash(hash_string), {:ok, transaction} <- - Chain.hash_to_transaction( - hash, - necessity_by_association: %{ - :block => :optional, - [created_contract_address: :names] => :optional, - [from_address: :names] => :optional, - [to_address: :names] => :optional, - [to_address: :smart_contract] => :optional, - :token_transfers => :optional - } - ) do + Chain.hash_to_transaction(hash) do full_options = Keyword.merge( [ diff --git a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex index add34c7b4d..76d28e6a82 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/block_transaction/index.html.eex @@ -13,38 +13,26 @@ ) %>
-
-

<%= gettext "Transactions" %>

- - <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_path(@conn, :index, @next_page_params) %> - <% end %> - - <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> - <% end %> - - <%= if Enum.count(@transactions) > 0 do %> - - <%= for transaction <- @transactions do %> - <%= render BlockScoutWeb.TransactionView, "_tile.html", transaction: transaction %> - <% end %> - - <% else %> -
- <%= gettext "There are no transactions for this block." %> + +
+

<%= gettext "Transactions" %>

+ + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> + + + +
+
+ <%= gettext "There are no transactions for this block." %>
- <% end %> +
- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_path(@conn, :index, @next_page_params) %> - <% end %> +
- <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> -
From e98c3f70c8bd26158fa78baaa533e13bbc4a7bf7 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 15:48:13 +0300 Subject: [PATCH 24/54] fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 5 +++-- .../block_scout_web/priv/gettext/en/LC_MESSAGES/default.po | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 7f2395276d..263f084df9 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -767,7 +767,7 @@ msgid "There are no transactions for this address." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:28 msgid "There are no transactions for this block." msgstr "" @@ -889,7 +889,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:3 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 -#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 #: lib/block_scout_web/views/address_view.ex:294 @@ -1233,6 +1233,7 @@ msgstr "" #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:23 #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 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 3631896f29..d4f1612aa3 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 @@ -767,7 +767,7 @@ msgid "There are no transactions for this address." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:28 msgid "There are no transactions for this block." msgstr "" @@ -889,7 +889,7 @@ msgstr "" #: lib/block_scout_web/templates/address/_tabs.html.eex:3 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 -#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:18 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 #: lib/block_scout_web/views/address_view.ex:294 @@ -1233,6 +1233,7 @@ msgstr "" #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:23 #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 @@ -1724,7 +1725,7 @@ msgstr "" msgid "Sorry, We are unable to locate this transaction Hash" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:17 msgid "There are no token transfers for this transaction" msgstr "" From bb026b18120a993e01cf38042676ebbacd63737f Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Fri, 24 May 2019 16:29:49 +0300 Subject: [PATCH 25/54] fix block transaction tests --- .../block_transaction_controller_test.exs | 75 +++++++++++++------ 1 file changed, 54 insertions(+), 21 deletions(-) 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 b8f6233e49..5b1ae46705 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 @@ -39,10 +39,15 @@ defmodule BlockScoutWeb.BlockTransactionControllerTest do |> with_block(block) |> with_contract_creation(insert(:contract_address)) - conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block.number)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) - assert html_response(conn, 200) - assert 2 == Enum.count(conn.assigns.transactions) + assert json_response(conn, 200) + + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() + + assert Enum.count(items) == 2 end test "non-consensus block number without consensus blocks is treated as consensus number above tip", %{conn: conn} do @@ -77,10 +82,15 @@ defmodule BlockScoutWeb.BlockTransactionControllerTest do |> insert() |> with_block(block) - conn = get(conn, block_transaction_path(conn, :index, block.hash)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) + + assert json_response(conn, 200) - assert html_response(conn, 200) - assert Enum.count(conn.assigns.transactions) == 1 + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() + + assert Enum.count(items) == 1 end test "does not return transactions for non-consensus block hash", %{conn: conn} do @@ -89,10 +99,15 @@ defmodule BlockScoutWeb.BlockTransactionControllerTest do transaction = insert(:transaction) insert(:transaction_fork, hash: transaction.hash, uncle_hash: block.hash) - conn = get(conn, block_transaction_path(conn, :index, block.hash)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) + + assert json_response(conn, 200) + + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() - assert html_response(conn, 200) - assert Enum.count(conn.assigns.transactions) == 0 + assert Enum.empty?(items) end test "does not return transactions for invalid block hash", %{conn: conn} do @@ -111,44 +126,62 @@ defmodule BlockScoutWeb.BlockTransactionControllerTest do insert(:transaction) block = insert(:block) - conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) - assert html_response(conn, 200) - assert Enum.empty?(conn.assigns.transactions) + assert json_response(conn, 200) + + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() + + assert Enum.empty?(items) end test "does not return related transactions without a block", %{conn: conn} do block = insert(:block) insert(:transaction) - conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) + + assert json_response(conn, 200) - assert html_response(conn, 200) - assert Enum.empty?(conn.assigns.transactions) + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() + + assert Enum.empty?(items) end - test "next_page_params exist if not on last page", %{conn: conn} do + test "next_page_path exists if not on last page", %{conn: conn} do block = %Block{number: number} = insert(:block) 60 |> insert_list(:transaction) |> with_block(block) - conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - assert %{"block_number" => ^number, "index" => 10} = conn.assigns.next_page_params + assert next_page_path end - test "next_page_params are empty if on last page", %{conn: conn} do + test "next_page_path is empty if on last page", %{conn: conn} do block = insert(:block) :transaction |> insert() |> with_block(block) - conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block)) + conn = get(conn, block_transaction_path(BlockScoutWeb.Endpoint, :index, block), %{type: "JSON"}) + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - refute conn.assigns.next_page_params + refute next_page_path end test "displays miner primary address name", %{conn: conn} do From 3fbab385bad021ca57019df9d7aff2500ef7b381 Mon Sep 17 00:00:00 2001 From: Gabriel Rodriguez Alsina Date: Fri, 24 May 2019 16:43:06 -0300 Subject: [PATCH 26/54] (fix) txs errors color --- .../assets/css/components/_tile.scss | 69 ++++++++----------- 1 file changed, 27 insertions(+), 42 deletions(-) diff --git a/apps/block_scout_web/assets/css/components/_tile.scss b/apps/block_scout_web/assets/css/components/_tile.scss index 4ed5bc6515..99dd85006e 100644 --- a/apps/block_scout_web/assets/css/components/_tile.scss +++ b/apps/block_scout_web/assets/css/components/_tile.scss @@ -11,22 +11,25 @@ $tile-type-unique-token-image-color: $orange !default; $tile-type-internal-transaction-color: $teal !default; $tile-type-api-documentation-color: $primary !default; $tile-type-progress-bar-color: $primary !default; +$tile-status-error-reason: #ff7986 !default; +$tile-status-awaiting-internal-transactions: $warning !default; $tile-padding: 1rem; @mixin generate-tile-block($prefix, $color, $label-color: false) { + &.tile-#{ $prefix } { + border-left: 4px solid $color; - a { - @if ($label-color) { - color: $label-color; - } - @else { - color: $color; + .tile-transaction-type-block { + a { + @if ($label-color) { + color: $label-color; + } + @else { + color: $color; + } + } } - } - - &.tile-type-#{ $prefix } { - border-left: 4px solid $color; .tile-label { @if ($label-color) { @@ -182,18 +185,20 @@ $tile-padding: 1rem; line-height: 1.4rem; padding: $tile-padding; - @include generate-tile-block('block', $tile-type-block-color, darken($tile-type-block-color, 20%)); - @include generate-tile-block('uncle', $tile-type-uncle-color); - @include generate-tile-block('reorg', $tile-type-reorg-color); - @include generate-tile-block('emission-reward', $tile-type-emission-reward-color); - @include generate-tile-block('transaction', $tile-type-transaction-color); - @include generate-tile-block('contract-call', $tile-type-contract-call-color); - @include generate-tile-block('contract-creation', $tile-type-contract-creation-color); - @include generate-tile-block('token-transfer', $tile-type-token-transfer-color); - @include generate-tile-block('unique-token', $tile-type-unique-token-color); - @include generate-tile-block('unique-token-image', $tile-type-unique-token-image-color); - @include generate-tile-block('internal-transaction', $tile-type-internal-transaction-color); - @include generate-tile-block('api-documentation', $tile-type-api-documentation-color); + @include generate-tile-block('type-block', $tile-type-block-color, darken($tile-type-block-color, 20%)); + @include generate-tile-block('type-uncle', $tile-type-uncle-color); + @include generate-tile-block('type-reorg', $tile-type-reorg-color); + @include generate-tile-block('type-emission-reward', $tile-type-emission-reward-color); + @include generate-tile-block('type-transaction', $tile-type-transaction-color); + @include generate-tile-block('type-contract-call', $tile-type-contract-call-color); + @include generate-tile-block('type-contract-creation', $tile-type-contract-creation-color); + @include generate-tile-block('type-token-transfer', $tile-type-token-transfer-color); + @include generate-tile-block('type-unique-token', $tile-type-unique-token-color); + @include generate-tile-block('type-unique-token-image', $tile-type-unique-token-image-color); + @include generate-tile-block('type-internal-transaction', $tile-type-internal-transaction-color); + @include generate-tile-block('type-api-documentation', $tile-type-api-documentation-color); + @include generate-tile-block('status--error--reason', $tile-status-error-reason); + @include generate-tile-block('status--awaiting-internal-transactions', $tile-status-awaiting-internal-transactions); &.n-p { padding: 0; @@ -256,26 +261,6 @@ $tile-padding: 1rem; width: 100%; } - .tile-status--error--reason { - border-bottom: 2px solid lighten($danger, 10%); - border-right: 2px solid lighten($danger, 10%); - border-top: 2px solid lighten($danger, 10%); - - .tile-status-label { - color: $danger; - } - } - - .tile-status--awaiting-internal-transactions { - border-bottom: 2px solid lighten($warning, 10%); - border-right: 2px solid lighten($warning, 10%); - border-top: 2px solid lighten($warning, 10%); - - .tile-status-label { - color: $warning; - } - } - /* Progress bar */ .progress { background-color: #f5f6fa; From 105ecc5552d7487aa02eef2852ca3c4529eb45f6 Mon Sep 17 00:00:00 2001 From: Gabriel Rodriguez Alsina Date: Fri, 24 May 2019 20:32:10 -0300 Subject: [PATCH 27/54] (update) changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4edae41dad..f1bcacf4af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ ### Fixes +- [#2025](https://github.com/poanetwork/blockscout/pull/2025) - Added a new color to display transactions' errors. - [#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 - [#1849](https://github.com/poanetwork/blockscout/pull/1849) - Improve chains menu From 7127b5f9111bf05fa866294c036d2965b71e0f91 Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 27 May 2019 11:05:04 +0300 Subject: [PATCH 28/54] make transacion internal transaction async --- ...saction_internal_transaction_controller.ex | 67 +++++++++++++++++-- .../index.html.eex | 50 ++++---------- 2 files changed, 75 insertions(+), 42 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex index af011e3745..0d5811e671 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex @@ -3,11 +3,12 @@ defmodule BlockScoutWeb.TransactionInternalTransactionController do import BlockScoutWeb.Chain, only: [paging_options: 1, next_page_params: 3, split_list_by_page: 1] - alias BlockScoutWeb.TransactionView + alias BlockScoutWeb.{InternalTransactionView, TransactionView} alias Explorer.{Chain, Market} alias Explorer.ExchangeRates.Token + alias Phoenix.View - def index(conn, %{"transaction_id" => hash_string} = params) do + def index(conn, %{"transaction_id" => hash_string, "type" => "JSON"} = params) do with {:ok, hash} <- Chain.string_to_transaction_hash(hash_string), {:ok, transaction} <- Chain.hash_to_transaction( @@ -37,14 +38,72 @@ defmodule BlockScoutWeb.TransactionInternalTransactionController do {internal_transactions, next_page} = split_list_by_page(internal_transactions_plus_one) + next_page_path = + case next_page_params(next_page, internal_transactions, params) do + nil -> + nil + + next_page_params -> + transaction_internal_transaction_path( + conn, + :index, + Map.delete(next_page_params, "type") + ) + end + + items = + internal_transactions + |> Enum.map(fn internal_transaction -> + View.render_to_string( + InternalTransactionView, + "_tile.html", + internal_transaction: internal_transaction + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_path + } + ) + else + :error -> + conn + |> put_status(422) + |> put_view(TransactionView) + |> render("invalid.html", transaction_hash: hash_string) + + {:error, :not_found} -> + conn + |> put_status(404) + |> put_view(TransactionView) + |> render("not_found.html", transaction_hash: hash_string) + end + end + + def index(conn, %{"transaction_id" => hash_string}) do + with {:ok, hash} <- Chain.string_to_transaction_hash(hash_string), + {:ok, transaction} <- + Chain.hash_to_transaction( + hash, + necessity_by_association: %{ + :block => :optional, + [created_contract_address: :names] => :optional, + [from_address: :names] => :optional, + [to_address: :names] => :optional, + [to_address: :smart_contract] => :optional, + :token_transfers => :optional + } + ) do render( conn, "index.html", exchange_rate: Market.get_exchange_rate(Explorer.coin()) || Token.null(), - internal_transactions: internal_transactions, + current_path: current_path(conn), block_height: Chain.block_height(), show_token_transfers: Chain.transaction_has_token_transfers?(hash), - next_page_params: next_page_params(next_page, internal_transactions, params), transaction: transaction ) else diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex index 42a89ea930..e6623b4061 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex @@ -2,49 +2,23 @@ <%= render BlockScoutWeb.TransactionView, "overview.html", assigns %>
<%= render BlockScoutWeb.TransactionView, "_tabs.html", assigns %> -
-

<%= gettext "Internal Transactions" %>

+
+

<%= gettext "Internal Transactions" %>

- <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_internal_transaction_path(@conn, :index, @transaction, @next_page_params) %> - <% end %> + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> - <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", cur_page_number: "1", show_pagination_limit: true %> - <% end %> - - <%= if Enum.count(@internal_transactions) > 0 do %> - <%= for internal_transaction <- @internal_transactions do %> - <%= render BlockScoutWeb.InternalTransactionView, "_tile.html", internal_transaction: internal_transaction %> - <% end %> - <% else %> -
- <%= gettext "There are no internal transactions for this transaction." %> + +
+
+ <%= gettext "There are no internal transactions for this transaction." %>
- <% end %> - - <%= if @next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, next_page_path: transaction_internal_transaction_path(@conn, :index, @transaction, @next_page_params) %> - <% end %> +
- <%= if !@next_page_params do %> - <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true %> - <% end %> +
- + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %>
From 305c342eb73d3c14669b0a9ae2148face88be65f Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 27 May 2019 11:09:11 +0300 Subject: [PATCH 29/54] fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 9 ++------- .../priv/gettext/en/LC_MESSAGES/default.po | 9 ++------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 263f084df9..9eedeec5a5 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -567,12 +567,6 @@ msgstr "" msgid "New Smart Contract" msgstr "" -#, elixir-format -#: -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -msgid "Newer" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" @@ -737,7 +731,7 @@ msgstr "" #, elixir-format #: -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:15 msgid "There are no internal transactions for this transaction." msgstr "" @@ -1239,6 +1233,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:11 #: lib/block_scout_web/templates/transaction_log/index.html.eex:13 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:12 msgid "Something went wrong, click to reload." 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 d4f1612aa3..91d30f7e46 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 @@ -567,12 +567,6 @@ msgstr "" msgid "New Smart Contract" msgstr "" -#, elixir-format -#: -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -msgid "Newer" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" @@ -737,7 +731,7 @@ msgstr "" #, elixir-format #: -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:15 msgid "There are no internal transactions for this transaction." msgstr "" @@ -1239,6 +1233,7 @@ msgstr "" #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:11 #: lib/block_scout_web/templates/transaction_log/index.html.eex:13 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:12 msgid "Something went wrong, click to reload." From 3c4ab85ff08ab71ccabe1e7a0d06c59e9ae4e972 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 11:16:40 +0300 Subject: [PATCH 30/54] Add files via upload --- .../assets/static/images/icons/etherscan.png | Bin 0 -> 1826 bytes .../assets/static/images/icons/etherscan@2x.png | Bin 0 -> 3489 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/block_scout_web/assets/static/images/icons/etherscan.png create mode 100644 apps/block_scout_web/assets/static/images/icons/etherscan@2x.png diff --git a/apps/block_scout_web/assets/static/images/icons/etherscan.png b/apps/block_scout_web/assets/static/images/icons/etherscan.png new file mode 100644 index 0000000000000000000000000000000000000000..c5bcd4bcdb31b276a5699a905ffb7995d226e508 GIT binary patch literal 1826 zcmaJ?eKb^Q9G+6?V-%gDufuIbg_%2ZXEbK=k&KDVpc&;OS!3ohbIi;gcP@sK4sF%Glr z;i`oM0>Q}BgCoG#CHQMRe;)qT?XsGKFDo(k08EI4W3eI>Cb&wFFc|Puh$3JCERw`U z>0n0!!C-^TF8~YR^VniUK@sUO6pccKvk3%87mZ3Jj)XBF433Z~ok&BqbtFJ0aU%KK z^QnB58!VN1#G|k<-rG+cA1P)@NG{HRqlS$OC}2zkXcTg#nyqmnP3p4oz1|FxfJq1z z=|uVzQ~=)>a6?cSu%~Pyi>aHK0FyO zs3e>%;BY_t!cR^lDTb-oAQ&4PONpgZ5Htd$u~;mS3V{$r#t~$7oDvgh$V#>4lmZ7< zi&2>hlOak#uP6#bqA@2D9_gnP6sl=irTTN3@PdIFkqV?ysQQ$qfPDV{Lluf?v>Fq@ zU*i2wVYOeJ3I+wR8i_{5c;mt?^{!NGHxw3O2d+JuiPFyW7Nk7$-zn;Zved9dTRQOHU0wTXKsW4zw z^5uyXq}wRQ*}J@^YHsG!p1Vf^oBxVM?9<;~>#4cf%-mul3ca(zb;8H=wfn8Z>kn}g zPZ+&4Xe8Lo1*~$w*^v)y;=A&~ea2q&u^(6dnrwG2nBw2Icl?*GYq|rA@{B@LUnh3*3i*vcJoGRo>5I5SodsQW+T>HUu)Ks@-n@pWFjw;5cw@n`oK`YqU}Bqq+M2BbAA!AwIQg)JaLfq0c7vmRHZGw-k1Jp zcSW=8{Kloj+h^5244%LoD$XVgGSKS>s!o<0x(q$KTs)k6wd@%;vHR}_<$>exJ{-&H zNDz?C`L>y+uj1NI^y1MT_G+wcCO;EvVY~Qlwwi5olthcS3)1Qylq*LB-(^?<-Zp<2P=iGSJ zmR{TO6moI6d;YY=m3MIe#onA`>o{KM_g6^O38(mXQ<^=AUHO>g!YV?_y*t{PkJnai^&anOIeD+J$z+R8E3-^_ zti44Z?$|yQ=CBXzJ$*3g+0LIO5cLGFEM;-@^U^gHo6RzkwP>m{5u+~q4K2NC8WK2S zeZ15R%4PJRanU6LPiS;0X3-aQzrDRX`;1_LW`K1^P)=GJRaf~q z&O8b5OXF&FL!b+7gWHRfxZ3)<*+fD@aMGS^SCpv#Yk9hRb1rNRP5K9e66E>- literal 0 HcmV?d00001 diff --git a/apps/block_scout_web/assets/static/images/icons/etherscan@2x.png b/apps/block_scout_web/assets/static/images/icons/etherscan@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a99bffb0d1f078c7a96f7953f5a7f5181bb44adf GIT binary patch literal 3489 zcmaJ^X*`r|-ySW>mR+GTCTo}(Gq#y54`%EmyD>L1F&NBZW@IUzvL|GTh=lCgNXiyc z3K?6rY}t}66{5!Sj-I>wc|W|p*Y&%u^F05*<2e57m-DKXr7<731UCQx;4?Kr*|67> z><@UDll?#VuQ&f@FX9X|mSIcrWCY@A1c1H=rB} zi?IS4QfLIAI#@%+9jc)T)I@+))ipKMG?jrcsH!>y3Wva3^4rT`))xo(fR~L-$hp4a8vne<+Fc z51P)fA^bPq|5KQ57fdBUYzTBp0L`7u8UfFs(CjD_zu#4~@}@8-bZ-h3 zXlVGWYCr`H-knI^Gb;XKVK7KjGM#}ZyAw=NIv}*VU zaPym@^zDM)XFCQ{MeI-RcoxkqAmD8la)%IY&3V!$CL*&|iEd(oiapqqb=F6H##DxJ zj^^e(V^L2S8~n~LD6=Z(ZXt(Kn-;K9J~)P3CNlR}iU18`0o$-Bn#;-AZaC6oHO?vv zsV!$UY}7qpVKpSn+JcIrE#xAcIjc4jPDQDKDrDku>d`v-*$d)MW13>vQ064~Y}~w0 zphCX=X^}S{`t@DgLc`E`PX=>maX#&iMt=K6qt(M&;|t zGe+6EVk7Z~UkMNOjP9_mck$_U`{S!_Xy=JmMP^4B9gGDToj2XzJ71r=9J>A?tuf2? z7W_hh(`O~$g?3kkuC`;hV`Y+r`X(x+Sr206LH@@V#qWoH>~yc&y|~nY=uQ!Qe1sNt zTu<$#n)ub#7K5-$y2a@Ruh&ztkitkHAtuMDhT z|2*8~O4Sg4Nle_%ZVopwng(9}5G{H15_PkUPigp~C$?QV3wRUbdbD+mXHakLeOT${ zZn1Up0&_q%6(r(w+B#44{-F^E?dQ9j9jP?{>?4}PX4@Ko@2?4DBuXgGZ?y~7KG2~6 z=;`d0jKHA*yyztE!&WeXk4}%4Ya%vIE*!5%>uY`GwtkZz>HH+6Wtx?^GXDMT6*;?) zhC9NG2=$@0Dgk}lZTk~+p2s;91RQDy@6)X-q`R$Ng~XU^MToUM)P{CFYOe52O`ddQ z#v`?xr$`U0HKg@~&=EkSo!U9QZ+T-HDl$I z3(V8quk5aJY)xCecCW{AWv2Fi-IO$*7+QaCoDe5;rgv(i7|T>l;uUfU7i`Lpx#cb9 zK3}-;ebi#bB1_fQxOBaH1HW=0USihZHEISG`KdG)!8@P6b(z%}<51X8Rn%13y=C4lY4ye= z&8)vDIV)|tB-Y_^iZdvshtLesg8yYF-Hf{il-qCnxe(A%=Tgj)96zLiy;XqRgsp8iCPyLzUA@Cm}EGHFE={x z%etaxb1u`cK{LE>xw!g{x88QH(xM3AMEQW8AhRig zEV1tDV6O7W(!H!q_~yfyL9U&q1E^*mdbD^&K}qP-A0Ha)YHQOacsa!sU*I`#IZ{(% z%&Mmu_vJQUZ{@mx1rbqx!VrfU&s=&_lsxWwQ?Bhb|3E;VcxF1JO)0$)kHMiKY{jsjXTrIKe(r-Yqobpq%zJ|}5@m4{7q>@~ z)ejKN;NppL3Usa$#^P@BFYk|xa|Wf|DvOVyJP7sexu=~k_jPC*q%7ms-`-N_aPoOB zp!l3s$j|6Ix}mk({1sSUv1_x7V6m$xH&~{XjdSIlQ>4O9F>>&B1l+g4h)KgB|MFJ9 zfG({@BQi^TuqN3Fiy8xtyXQ%rZzJ><8g~2-30ZSUyl6`KX7EX&oyla5ynk=0vwWc@ z?g>r>TQF7F+5#0h5~J!nu(V&|zJ_wvzIV(Puf=nh=1?w9WY2q*YIT&wXf!MJ#<%8X z{p_U+xk|tm43CnvkH{qLV&M&9kc!aN19IWb(K|a=RCIL4)RhahyWEl3;`mCIOW>Fb z87grR@jaomFB~+I*PfDXXg(*Fd)YElw^7QViGR+qrKHlo1YBW|E(ZO~t4~pr7E2J_ zU~G&oe0`?L%g5)M2J}${C?1}*E#1bk6alm&zJp`mJUks7C`gs?ENw_~ufU|!e#l#x zTMi~F`AV1vj?}%75Zi5#Ws@VG@x?()XJ_H+IL|t`_;K^xY8zHW+2Ho)5l(qoExw0? z5eL=Pr5x?;b<|}$V6EkcPhgmWHo>x1_C7IQqnV+V(@Q>go0Fy)h}G!|ELZ1W$9Xw7 zwQl#=l*(8es`N~=_%Fj0d)+R340y7(sz)Rrf_CJJe3(DBb?5Oryb%l}?*YT^W1Z)5 z79<~X*u(U^B#x-y2R5e*=cM!kEC5IVHRyC>lKJD1Q-91ZP}==?EzWcjB9 z=7xwk{jv^gd#5(%^C~|dKmWt)k6wxJv6#m*Z*|$Uo3-wPN+f)Jk)MCNP!|5QTzw&I zfU&O`u!hv(=H_Y48w?cpd?FkP4gMUXuEe9w#p>?v9_4A!2~3%L(&MdmJ$`uD+06IG zH2ZDUy(T+-SGjzhbg_C&@RaeEt`z-%wDf_ZzCOO)vzIvl=ojh($ literal 0 HcmV?d00001 From 8652b11de8b0ca9848aaa499f66471aabfafe272 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 11:17:36 +0300 Subject: [PATCH 31/54] Update _verify_other_explorers.html.eex --- .../address/_verify_other_explorers.html.eex | 122 +++++++++++++----- 1 file changed, 91 insertions(+), 31 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex index 542bdf74c3..cc68e581fc 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex @@ -1,37 +1,97 @@
-

- Verify with other explorers -

-
+ +
+

Verify with other Explorers:

-
- -
-
- - <%= link( - address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address, false), - to: address_link_to_other_explorer("https://blockchair.com/ethereum/address/", @address ,true) - ) %> - -
+ + +
+

Etherscan.io

+
https://blockchair.com/ethereum/address/0x7c720f9b5bf7af340457e908555fecbd9db1f6da
+
+
+ + +
+

Blockchair.com

+
https://blockchair.com/ethereum/address/0x7c720f9b5bf7af340457e908555fecbd9db1f6da
+
+
+ + +
+

Etherchain.org

+
https://blockchair.com/ethereum/address/0x7c720f9b5bf7af340457e908555fecbd9db1f6da
+
+
+ + + + +
-
-
- -
-
- - <%= link( - address_link_to_other_explorer("https://www.etherchain.org/account/", @address, false), - to: address_link_to_other_explorer("https://www.etherchain.org/account/", @address, true) - ) %> - +
+ + -
\ No newline at end of file + +
From d307a9bbfece44279f54a616aba19f459cfc0e76 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 11:18:01 +0300 Subject: [PATCH 32/54] Update _verify_other_explorers.scss --- .../components/_verify_other_explorers.scss | 158 +++++++++++++++++- 1 file changed, 156 insertions(+), 2 deletions(-) diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss index 36d7ae145c..84f4356e3b 100644 --- a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -1,33 +1,187 @@ +.verify-other-explorers { + display: flex; + margin-top: 26px; + flex-direction: column; + flex-wrap: wrap; + @media (min-width: 768px) { + flex-direction: row; + align-items: center; + justify-content: space-between; + } + @media (min-width: 1200px) { + flex-wrap: nowrap; + } + h2 { + color: #a3a9b5; + font-size: 12px; + font-weight: 400; + line-height: 1.25; + display: inline-flex; + margin-bottom: 12px; + @media (min-width: 1200px) { + margin-right: 10px; + margin-bottom: 0; + } + } +} + +.verify-other-explorers-row { + display: flex; + flex-direction: column; + flex-grow: 2; + @media (min-width: 768px) { + flex-direction: row; + } +} + +.verify-other-explorers-elem { + display: inline-flex; + border: 1px solid #e2e5ec; + border-radius: 2px; + flex-grow: 2; + @media (min-width: 768px) { + margin-top: 0; + } + @media (min-width: 1200px) { + min-width: 145px; + } + & + .verify-other-explorers-elem { + margin-top: 10px; + @media (min-width: 768px) { + margin-top: 0; + margin-left: 10px; + } + } + .exp-logo { + min-width: 34px; + border-right: 1px solid #e2e5ec; + background-repeat: no-repeat; + background-position: center; + &.etherscan { + @include image-2x('/images/icons/etherscan@2x.png', 15px, 16px); + background-image: url("/images/icons/etherscan.png"); + background-size: 15px 16px; + } + &.blockchair { + @include image-2x('/images/icons/blockchair@2x.png', 10px, 16px); + background-image: url("/images/icons/blockchair.png"); + background-size: 10px 16px; + } + &.etherchain { + @include image-2x('/images/icons/etherchain@2x.png', 16px, 16px); + background-image: url("/images/icons/etherchain.png"); + background-size: 16px 16px; + } + } + .exp-content { + padding: 6px 9px 4px 9px; + h3, div { + font-size: 10px; + line-height: 1; + } + h3 { + color: #333; + font-weight: 400; + margin-bottom: 0; + margin-bottom: 1px; + } + div { + color: #49a2ee; + display: block; + line-height: 1; + text-overflow: ellipsis; + overflow: hidden; + width: 170px; + white-space: nowrap; + @media (min-width: 576px) { + width: 398px; + } + @media (min-width: 768px) { + width: 130px; + } + @media (min-width: 992px) { + width: 90px; + } + @media (min-width: 1200px) { + width: 93px; + } + } + } +} + +.verify-other-explorers-more { + min-width: 34px; + height: 34px; + display: inline-flex; + align-items: center; + justify-content: center; + border: 1px solid $secondary; + border-radius: 2px; + margin-top: 10px; + transition: .1s ease-in; + @media (min-width: 768px) { + margin-left: 10px; + margin-top: 0; + } + svg path { + fill: $secondary; + } + &:hover { + background-color: $secondary; + svg path { + fill: #fff; + } + } +} + +.verify-other-explorers-dialog { + max-width: 450px; +} + .verify-other-explorers-table { display: table; } -.verify-other-explorers-row { + +.verify-other-explorers-modal-row { display: table-row; height: 29px; } + .verify-other-explorers-cell { display: table-cell; &.left { min-width: 120px; } } + .link { background-image: url("/images/icons/link.svg"); background-repeat: no-repeat; padding-left: 15px; background-size: 12px 12px; } + +.etherscan-logo { + @include image-2x('/images/icons/etherscan@2x.png', 15px, 16px); + background-image: url("/images/icons/etherscan.png"); + background-repeat: no-repeat; + padding-left: 25px; + background-size: 15px 16px; +} + .blockchair-logo { @include image-2x('/images/icons/blockchair@2x.png', 10px, 16px); background-image: url("/images/icons/blockchair.png"); background-repeat: no-repeat; padding-left: 25px; background-size: 10px 16px; + background-position: left 3px center; } + .etherchain-logo { @include image-2x('/images/icons/etherchain@2x.png', 16px, 16px); background-image: url("/images/icons/etherchain.png"); background-repeat: no-repeat; padding-left: 25px; background-size: 16px 16px; -} \ No newline at end of file +} From 7ba513cd403d9845b2ac486abb50c9aea5cd3b3e Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 11:24:59 +0300 Subject: [PATCH 33/54] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14cae576cc..b54a365f5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +[#2030](https://github.com/poanetwork/blockscout/pull/2030) - added 'Verify link to other explorers' block and modal dialog - [#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 - [#2010](https://github.com/poanetwork/blockscout/pull/2010) - added "block not found" and "tx not found pages" - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated From ffce1aba5200370ac22926e7741bc8d5505bf2ec Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 11:25:18 +0300 Subject: [PATCH 34/54] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b54a365f5a..5bcac0b554 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## Current ### Features -[#2030](https://github.com/poanetwork/blockscout/pull/2030) - added 'Verify link to other explorers' block and modal dialog +- [#2030](https://github.com/poanetwork/blockscout/pull/2030) - added 'Verify link to other explorers' block and modal dialog - [#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 - [#2010](https://github.com/poanetwork/blockscout/pull/2010) - added "block not found" and "tx not found pages" - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated From 51405f2dee477803defeb890a7c552da64a3b7bc Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 27 May 2019 11:49:02 +0300 Subject: [PATCH 35/54] fix transaction internal transaction controller tests --- ...saction_internal_transaction_controller.ex | 1 + ...n_internal_transaction_controller_test.exs | 67 +++++++++++-------- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex index 0d5811e671..e318a74e78 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/transaction_internal_transaction_controller.ex @@ -47,6 +47,7 @@ defmodule BlockScoutWeb.TransactionInternalTransactionController do transaction_internal_transaction_path( conn, :index, + transaction, Map.delete(next_page_params, "type") ) end diff --git a/apps/block_scout_web/test/block_scout_web/controllers/transaction_internal_transaction_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/transaction_internal_transaction_controller_test.exs index cf8016a774..6b9a32d280 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/transaction_internal_transaction_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/transaction_internal_transaction_controller_test.exs @@ -3,7 +3,7 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do import BlockScoutWeb.Router.Helpers, only: [transaction_internal_transaction_path: 3] - alias Explorer.Chain.{Block, InternalTransaction, Transaction} + alias Explorer.Chain.InternalTransaction alias Explorer.ExchangeRates.Token describe "GET index/3" do @@ -40,13 +40,12 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do |> insert() |> with_block(insert(:block, number: 1)) - expected_internal_transaction = - insert(:internal_transaction, - transaction: transaction, - index: 0, - block_number: transaction.block_number, - transaction_index: transaction.index - ) + insert(:internal_transaction, + transaction: transaction, + index: 0, + block_number: transaction.block_number, + transaction_index: transaction.index + ) insert(:internal_transaction, transaction: transaction, @@ -57,14 +56,15 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do path = transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash) - conn = get(conn, path) + conn = get(conn, path, %{type: "JSON"}) - actual_internal_transaction_primary_keys = - Enum.map(conn.assigns.internal_transactions, &{&1.transaction_hash, &1.index}) + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() - assert html_response(conn, 200) + assert json_response(conn, 200) - assert {expected_internal_transaction.transaction_hash, expected_internal_transaction.index} in actual_internal_transaction_primary_keys + assert Enum.count(items) == 2 end test "includes USD exchange rate value for address in assigns", %{conn: conn} do @@ -135,21 +135,21 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do conn = get(conn, transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{ - "index" => Integer.to_string(index) + "index" => Integer.to_string(index), + "type" => "JSON" }) - actual_indexes = - conn.assigns.internal_transactions - |> Enum.map(& &1.index) + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() - assert second_page_indexes == actual_indexes + assert Enum.count(items) == Enum.count(second_page_indexes) end - test "next_page_params exist if not on last page", %{conn: conn} do - block = %Block{number: number} = insert(:block, number: 7000) + test "next_page_path exists if not on last page", %{conn: conn} do + block = insert(:block, number: 7000) transaction = - %Transaction{index: transaction_index} = :transaction |> insert() |> with_block(block) @@ -165,13 +165,19 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do ) end) - conn = get(conn, transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash)) + conn = + get(conn, transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{ + type: "JSON" + }) + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - assert %{"block_number" => ^number, "index" => 50, "transaction_index" => ^transaction_index} = - conn.assigns.next_page_params + assert next_page_path end - test "next_page_params are empty if on last page", %{conn: conn} do + test "next_page_path is empty if on last page", %{conn: conn} do transaction = :transaction |> insert() @@ -188,9 +194,16 @@ defmodule BlockScoutWeb.TransactionInternalTransactionControllerTest do ) end) - conn = get(conn, transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash)) + conn = + get(conn, transaction_internal_transaction_path(BlockScoutWeb.Endpoint, :index, transaction.hash), %{ + type: "JSON" + }) + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - refute conn.assigns.next_page_params + refute next_page_path end end end From 107249dc7774d1185bfef04a92a3741a6caaaa9c Mon Sep 17 00:00:00 2001 From: Ayrat Badykov Date: Mon, 27 May 2019 12:26:05 +0300 Subject: [PATCH 36/54] make token inventory async --- .../tokens/inventory_controller.ex | 52 +++++++++++++++++-- .../templates/tokens/inventory/index.html.eex | 39 +++++++------- apps/block_scout_web/priv/gettext/default.pot | 8 +-- .../priv/gettext/en/LC_MESSAGES/default.po | 8 +-- .../tokens/inventory_controller_test.exs | 34 +++++++----- 5 files changed, 92 insertions(+), 49 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex index 321b377503..432c48742f 100644 --- a/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex +++ b/apps/block_scout_web/lib/block_scout_web/controllers/tokens/inventory_controller.ex @@ -1,12 +1,14 @@ defmodule BlockScoutWeb.Tokens.InventoryController do use BlockScoutWeb, :controller + alias BlockScoutWeb.Tokens.InventoryView alias Explorer.{Chain, Market} alias Explorer.Chain.TokenTransfer + alias Phoenix.View import BlockScoutWeb.Chain, only: [split_list_by_page: 1, default_paging_options: 0] - def index(conn, %{"token_id" => address_hash_string} = params) do + def index(conn, %{"token_id" => address_hash_string, "type" => "JSON"} = params) do with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), {:ok, token} <- Chain.token_from_address_hash(address_hash) do unique_tokens = @@ -17,14 +19,56 @@ defmodule BlockScoutWeb.Tokens.InventoryController do {unique_tokens_paginated, next_page} = split_list_by_page(unique_tokens) + next_page_path = + case unique_tokens_next_page(next_page, unique_tokens_paginated, params) do + nil -> + nil + + next_page_params -> + token_inventory_path( + conn, + :index, + address_hash_string, + Map.delete(next_page_params, "type") + ) + end + + items = + unique_tokens_paginated + |> Enum.map(fn token_transfer -> + View.render_to_string( + InventoryView, + "_token.html", + token_transfer: token_transfer + ) + end) + + json( + conn, + %{ + items: items, + next_page_path: next_page_path + } + ) + else + :error -> + not_found(conn) + + {:error, :not_found} -> + not_found(conn) + end + end + + def index(conn, %{"token_id" => address_hash_string}) do + with {:ok, address_hash} <- Chain.string_to_address_hash(address_hash_string), + {:ok, token} <- Chain.token_from_address_hash(address_hash) do render( conn, "index.html", + current_path: current_path(conn), token: Market.add_price(token), - unique_tokens: unique_tokens_paginated, total_token_transfers: Chain.count_token_transfers_from_token_hash(address_hash), - total_token_holders: token.holder_count || Chain.count_token_holders_from_token_hash(address_hash), - next_page_params: unique_tokens_next_page(next_page, unique_tokens_paginated, params) + total_token_holders: token.holder_count || Chain.count_token_holders_from_token_hash(address_hash) ) else :error -> diff --git a/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/index.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/index.html.eex index 4eb471e305..da834dbc88 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/index.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/tokens/inventory/index.html.eex @@ -12,28 +12,25 @@
<%= render OverviewView, "_tabs.html", assigns %> -
-

<%= gettext "Inventory" %>

- - <%= if Enum.any?(@unique_tokens) do %> - <%= for token_transfer <- @unique_tokens do %> - <%= render "_token.html", token_transfer: token_transfer %> - <% end %> - <% else %> -
- - <%= gettext "There are no tokens." %> - +
+

<%= gettext "Inventory" %>

+ + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "top", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> + + + +
+
+ <%= gettext "There are no tokens." %>
- <% end %> - - <%= if @next_page_params do %> - <%= link( - gettext("Next Page"), - class: "button button-secondary button-small float-right mt-4", - to: token_inventory_path(@conn, :index, @token.contract_address_hash, @next_page_params) - ) %> - <% end %> +
+ +
+ + <%= render BlockScoutWeb.CommonComponentsView, "_pagination_container.html", position: "bottom", cur_page_number: "1", show_pagination_limit: true, data_next_page_button: true, data_prev_page_button: true %> +
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 68f3690d8d..c7c75a3770 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -567,11 +567,6 @@ msgstr "" msgid "New Smart Contract" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 -msgid "Next Page" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" @@ -751,7 +746,7 @@ msgid "There are no tokens for this address." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:26 msgid "There are no tokens." msgstr "" @@ -1231,6 +1226,7 @@ msgstr "" #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:11 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 48b302ed75..844c8db298 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 @@ -567,11 +567,6 @@ msgstr "" msgid "New Smart Contract" msgstr "" -#, elixir-format -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 -msgid "Next Page" -msgstr "" - #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" @@ -751,7 +746,7 @@ msgid "There are no tokens for this address." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:26 msgid "There are no tokens." msgstr "" @@ -1231,6 +1226,7 @@ msgstr "" #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:11 diff --git a/apps/block_scout_web/test/block_scout_web/controllers/tokens/inventory_controller_test.exs b/apps/block_scout_web/test/block_scout_web/controllers/tokens/inventory_controller_test.exs index 1c131df177..f343353d45 100644 --- a/apps/block_scout_web/test/block_scout_web/controllers/tokens/inventory_controller_test.exs +++ b/apps/block_scout_web/test/block_scout_web/controllers/tokens/inventory_controller_test.exs @@ -62,13 +62,20 @@ defmodule BlockScoutWeb.Tokens.InventoryControllerTest do conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash), %{ - "token_id" => "999" + "token_id" => "999", + "type" => "JSON" }) - assert Enum.map(conn.assigns.unique_tokens, & &1.token_id) == Enum.map(second_page_token_balances, & &1.token_id) + conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash), %{type: "JSON"}) + + {:ok, %{"items" => items}} = + conn.resp_body + |> Poison.decode() + + assert Enum.count(items) == Enum.count(second_page_token_balances) end - test "next_page_params exists if not on last page", %{conn: conn} do + test "next_page_path exists if not on last page", %{conn: conn} do token = insert(:token, type: "ERC-721") transaction = @@ -87,17 +94,16 @@ defmodule BlockScoutWeb.Tokens.InventoryControllerTest do ) ) - expected_next_page_params = %{ - "token_id" => to_string(token.contract_address_hash), - "unique_token" => 1050 - } + conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash), %{type: "JSON"}) - conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash)) + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - assert conn.assigns.next_page_params == expected_next_page_params + assert next_page_path end - test "next_page_params are empty if on last page", %{conn: conn} do + test "next_page_path is empty if on last page", %{conn: conn} do token = insert(:token, type: "ERC-721") transaction = @@ -113,9 +119,13 @@ defmodule BlockScoutWeb.Tokens.InventoryControllerTest do token_id: 1000 ) - conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash)) + conn = get(conn, token_inventory_path(conn, :index, token.contract_address_hash), %{type: "JSON"}) + + {:ok, %{"next_page_path" => next_page_path}} = + conn.resp_body + |> Poison.decode() - refute conn.assigns.next_page_params + refute next_page_path end end end From d304bcf7a6c09dfc1d74befffc90689a20bccf9f Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 12:29:40 +0300 Subject: [PATCH 37/54] Update _dropdown.scss --- apps/block_scout_web/assets/css/components/_dropdown.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/block_scout_web/assets/css/components/_dropdown.scss b/apps/block_scout_web/assets/css/components/_dropdown.scss index c8962c021d..c93231edbd 100644 --- a/apps/block_scout_web/assets/css/components/_dropdown.scss +++ b/apps/block_scout_web/assets/css/components/_dropdown.scss @@ -52,6 +52,10 @@ font-weight: 700; } } + + &.active { + background-color: $secondary; + } &.division { border-top: 1px solid $base-border-color; From 3ddea068afd2c7751678bc81f74e25954120461e Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 12:33:27 +0300 Subject: [PATCH 38/54] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55fdbe8b6d..42d621336a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Current ### Features +- [#2033](https://github.com/poanetwork/blockscout/pull/2033) - Header nav. dropdown active element color issue, - [#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), [#2031](https://github.com/poanetwork/blockscout/pull/2031) - added new themes and logos for poa, eth, rinkeby, goerli, ropsten, kovan, sokol, xdai, etc, rsk - [#2010](https://github.com/poanetwork/blockscout/pull/2010) - added "block not found" and "tx not found pages" - [#1928](https://github.com/poanetwork/blockscout/pull/1928) - pagination styles were updated From 4d29805398962825d30094b05e3ac6571a6a2281 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Mon, 27 May 2019 14:16:29 +0300 Subject: [PATCH 39/54] Update _verify_other_explorers.html.eex --- .../templates/address/_verify_other_explorers.html.eex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex index cc68e581fc..85df676383 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorers.html.eex @@ -32,7 +32,7 @@
- diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index b0a029faf7..c323998e3a 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -50,7 +50,8 @@ <% end %>
- <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", hash: hash(@transaction), type: "tx" %> + + <%# <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", hash: hash(@transaction), type: "tx" %> %>
From 1bf7a69a9693ede824b33193fa6314e666ba18d8 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 27 May 2019 19:48:32 +0300 Subject: [PATCH 47/54] Fix templates --- .../templates/address/_verify_other_explorer.html.eex | 8 ++++---- .../address/_verify_other_explorer_modal.html.eex | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer.html.eex index 7e92b739c2..24a31bbc51 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer.html.eex @@ -1,15 +1,15 @@ <%= if @type=="address" do %> -<%= else %> +<% else %> -<%= end %> +<% end %>

<%= @header %>

<%= if @type=="address" do %>
<%= address_link_to_other_explorer(@address_link, @hash ,true) %>
- <%= else %> + <% else %>
<%= address_link_to_other_explorer(@tx_link, @hash ,true) %>
- <%= end %> + <% end %>
\ No newline at end of file diff --git a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer_modal.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer_modal.html.eex index 6757eda25c..cbbd548336 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer_modal.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/address/_verify_other_explorer_modal.html.eex @@ -11,12 +11,12 @@ address_link_to_other_explorer(@address_link, @hash, false), to: address_link_to_other_explorer(@address_link, @hash ,true) ) %> - <%= else %> + <% else %> <%= link( address_link_to_other_explorer(@tx_link, @hash, false), to: address_link_to_other_explorer(@tx_link, @hash ,true) ) %> - <%= end %> + <% end %>
\ No newline at end of file From 4350bc0b0ba5dcb1c549ea2465c2a79707176771 Mon Sep 17 00:00:00 2001 From: Victor Baranov Date: Mon, 27 May 2019 19:51:49 +0300 Subject: [PATCH 48/54] Fix gettext --- apps/block_scout_web/priv/gettext/default.pot | 42 +++++++++---------- .../priv/gettext/en/LC_MESSAGES/default.po | 42 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 431f149bfc..77559415a3 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -145,7 +145,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:72 msgid "Block Confirmations" msgstr "" @@ -160,7 +160,7 @@ msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:59 +#: lib/block_scout_web/templates/transaction/overview.html.eex:58 msgid "Block Number" msgstr "" @@ -207,8 +207,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:141 -#: lib/block_scout_web/templates/address/overview.html.eex:149 +#: lib/block_scout_web/templates/address/overview.html.eex:142 +#: lib/block_scout_web/templates/address/overview.html.eex:150 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" @@ -382,7 +382,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "" @@ -494,7 +494,7 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:237 msgid "Limit" msgstr "" @@ -591,7 +591,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:80 +#: lib/block_scout_web/templates/transaction/overview.html.eex:79 msgid "Nonce" msgstr "" @@ -651,7 +651,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" @@ -722,7 +722,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 -#: lib/block_scout_web/templates/transaction/overview.html.eex:85 +#: lib/block_scout_web/templates/transaction/overview.html.eex:84 msgid "TX Fee" msgstr "" @@ -824,8 +824,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" @@ -939,7 +939,7 @@ msgid "Unique Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:232 +#: lib/block_scout_web/templates/transaction/overview.html.eex:231 msgid "Used" msgstr "" @@ -959,7 +959,7 @@ msgid "Validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 msgid "Value" msgstr "" @@ -1123,7 +1123,7 @@ msgid "This API is provided for developers transitioning their applications from msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:110 +#: lib/block_scout_web/templates/transaction/overview.html.eex:109 msgid "Raw Input" msgstr "" @@ -1514,18 +1514,18 @@ msgid "Transactions Sent" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:102 +#: lib/block_scout_web/templates/transaction/overview.html.eex:101 msgid "Transaction Speed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:116 -#: lib/block_scout_web/templates/transaction/overview.html.eex:120 +#: lib/block_scout_web/templates/transaction/overview.html.eex:115 +#: lib/block_scout_web/templates/transaction/overview.html.eex:119 msgid "Hex (Default)" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:123 +#: lib/block_scout_web/templates/transaction/overview.html.eex:122 msgid "UTF-8" msgstr "" @@ -1601,12 +1601,12 @@ msgid "Optimization runs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 msgid "ERC-20" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 msgid "ERC-721" msgstr "" @@ -1626,7 +1626,7 @@ msgid "View All Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:228 +#: lib/block_scout_web/templates/transaction/overview.html.eex:227 msgid "Gas" 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 fde17052f6..fae009b1fd 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 @@ -145,7 +145,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:72 msgid "Block Confirmations" msgstr "" @@ -160,7 +160,7 @@ msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:59 +#: lib/block_scout_web/templates/transaction/overview.html.eex:58 msgid "Block Number" msgstr "" @@ -207,8 +207,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:141 -#: lib/block_scout_web/templates/address/overview.html.eex:149 +#: lib/block_scout_web/templates/address/overview.html.eex:142 +#: lib/block_scout_web/templates/address/overview.html.eex:150 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" @@ -382,7 +382,7 @@ msgstr "" #: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "POA" @@ -494,7 +494,7 @@ msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:237 msgid "Limit" msgstr "" @@ -591,7 +591,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:80 +#: lib/block_scout_web/templates/transaction/overview.html.eex:79 msgid "Nonce" msgstr "" @@ -651,7 +651,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" @@ -722,7 +722,7 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 -#: lib/block_scout_web/templates/transaction/overview.html.eex:85 +#: lib/block_scout_web/templates/transaction/overview.html.eex:84 msgid "TX Fee" msgstr "" @@ -824,8 +824,8 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" @@ -939,7 +939,7 @@ msgid "Unique Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:232 +#: lib/block_scout_web/templates/transaction/overview.html.eex:231 msgid "Used" msgstr "" @@ -959,7 +959,7 @@ msgid "Validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 msgid "Value" msgstr "" @@ -1123,7 +1123,7 @@ msgid "This API is provided for developers transitioning their applications from msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:110 +#: lib/block_scout_web/templates/transaction/overview.html.eex:109 msgid "Raw Input" msgstr "" @@ -1514,18 +1514,18 @@ msgid "Transactions Sent" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:102 +#: lib/block_scout_web/templates/transaction/overview.html.eex:101 msgid "Transaction Speed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:116 -#: lib/block_scout_web/templates/transaction/overview.html.eex:120 +#: lib/block_scout_web/templates/transaction/overview.html.eex:115 +#: lib/block_scout_web/templates/transaction/overview.html.eex:119 msgid "Hex (Default)" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:123 +#: lib/block_scout_web/templates/transaction/overview.html.eex:122 msgid "UTF-8" msgstr "" @@ -1601,12 +1601,12 @@ msgid "Optimization runs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 msgid "ERC-20" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 msgid "ERC-721" msgstr "" @@ -1626,7 +1626,7 @@ msgid "View All Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:228 +#: lib/block_scout_web/templates/transaction/overview.html.eex:227 msgid "Gas" msgstr "" From d58df1da6fbbc44028d66352a2291b623e285bee Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Tue, 28 May 2019 14:50:15 +0300 Subject: [PATCH 49/54] Update _verify_other_explorers.scss --- .../assets/css/components/_verify_other_explorers.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss index 84f4356e3b..5aa97d8dd4 100644 --- a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -135,7 +135,7 @@ } .verify-other-explorers-dialog { - max-width: 450px; + max-width: 330px; } .verify-other-explorers-table { From e1fc9d18b1780aa8351208b84bfe096efc93f091 Mon Sep 17 00:00:00 2001 From: maxgrapps <50101080+maxgrapps@users.noreply.github.com> Date: Tue, 28 May 2019 14:55:43 +0300 Subject: [PATCH 50/54] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bcac0b554..37773b7e7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ - [#1890](https://github.com/poanetwork/blockscout/pull/1890) - Verification links to other explorers for ETH ### Fixes - +- [#2043](https://github.com/poanetwork/blockscout/pull/2043) - Fixed modal dialog width for 'verify other explorers' - [#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 - [#1849](https://github.com/poanetwork/blockscout/pull/1849) - Improve chains menu From a27bb5a852804ae8fffb148998ae4659a23d4d2e Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 28 May 2019 17:30:54 +0300 Subject: [PATCH 51/54] test fixes --- .../components/_verify_other_explorers.scss | 2 +- .../templates/transaction/overview.html.eex | 4 +- apps/block_scout_web/priv/gettext/default.pot | 477 +++++++++++++++++- .../priv/gettext/en/LC_MESSAGES/default.po | 477 +++++++++++++++++- 4 files changed, 939 insertions(+), 21 deletions(-) diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss index 84f4356e3b..5aa97d8dd4 100644 --- a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -135,7 +135,7 @@ } .verify-other-explorers-dialog { - max-width: 450px; + max-width: 330px; } .verify-other-explorers-table { diff --git a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex index b0dbfdd1ec..6c60c841fc 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex @@ -50,9 +50,9 @@ <% end %>
- <%= if contract_creation?(@transaction) do %> + <%= render BlockScoutWeb.AddressView, "_verify_other_explorers.html", address: to_address_hash(@transaction) %> - <% end %> +
diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index dab33f910b..3e790a09b0 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1,5 +1,6 @@ #, elixir-format #: lib/block_scout_web/views/address_token_balance_view.ex:7 +#: lib/block_scout_web/views/address_token_balance_view.ex:7 msgid "%{count} token" msgid_plural "%{count} tokens" msgstr[0] "" @@ -7,6 +8,7 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:27 +#: lib/block_scout_web/templates/block/_tile.html.eex:27 msgid "%{count} transaction" msgid_plural "%{count} transactions" msgstr[0] "" @@ -14,374 +16,484 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:3 +#: lib/block_scout_web/templates/address/_metatags.html.eex:3 msgid "%{address} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:8 +#: lib/block_scout_web/templates/block/overview.html.eex:8 msgid "%{block_type} Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:15 +#: lib/block_scout_web/templates/block/overview.html.eex:15 msgid "%{block_type} Height:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:10 msgid "%{block_type}s" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/chain/_block.html.eex:11 #: lib/block_scout_web/templates/chain/_block.html.eex:11 msgid "%{count} Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:2 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:2 msgid "%{subnetwork} %{network} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_default_title.html.eex:2 +#: lib/block_scout_web/templates/layout/_default_title.html.eex:2 msgid "%{subnetwork} Explorer - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:209 +#: lib/block_scout_web/views/transaction_view.ex:209 msgid "(Awaiting internal transactions for status)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 msgid "(query)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:35 +#: lib/block_scout_web/templates/layout/app.html.eex:35 msgid "- We're indexing this chain right now. Some of the counts may be inaccurate." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 msgid "A string with the name of the action to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 msgid "API endpoints for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 msgid "API for the %{subnetwork} - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:56 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:56 msgid "Accounts" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 msgid "Action" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 msgid "Addresses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:8 +#: lib/block_scout_web/views/address_transaction_view.ex:8 #: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "All" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:47 +#: lib/block_scout_web/templates/chain/show.html.eex:47 msgid "Average block time" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:3 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:3 msgid "Balance" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:5 +#: lib/block_scout_web/templates/api_docs/index.html.eex:5 msgid "Base URL:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_link.html.eex:2 +#: lib/block_scout_web/templates/block/_link.html.eex:2 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 msgid "Block #%{number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:3 +#: lib/block_scout_web/templates/block/_metatags.html.eex:3 msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:73 msgid "Block Confirmations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Block Height: %{height}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:50 +#: lib/block_scout_web/templates/layout/app.html.eex:50 msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:59 +#: lib/block_scout_web/templates/transaction/overview.html.eex:59 msgid "Block Number" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:22 +#: lib/block_scout_web/views/transaction_view.ex:22 msgid "Block Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:4 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:4 msgid "BlockScout provides analytics data, API, and Smart Contract tools for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:20 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:20 msgid "Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:49 +#: lib/block_scout_web/templates/layout/app.html.eex:49 msgid "Blocks Indexed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:32 +#: 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/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/templates/address_validation/index.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:313 +#: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 msgid "Cancel" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 msgid "Clear" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/address/overview.html.eex:149 +#: lib/block_scout_web/templates/address/overview.html.eex:149 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:42 +#: 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:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 -#: lib/block_scout_web/views/address_view.ex:304 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 +#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 msgid "Compiler" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:30 +#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:6 #: lib/block_scout_web/templates/block/index.html.eex:6 msgid "Connection Lost, click to load newer blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 msgid "Connection Lost, click to load newer internal transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/transaction/index.html.eex:15 +#: lib/block_scout_web/templates/transaction/index.html.eex:15 msgid "Connection Lost, click to load newer transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:10 +#: lib/block_scout_web/templates/address_validation/index.html.eex:10 msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:53 +#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:97 #: lib/block_scout_web/views/address_view.ex:97 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:71 msgid "Contract Address Pending" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:286 +#: lib/block_scout_web/views/transaction_view.ex:286 msgid "Contract Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:285 +#: lib/block_scout_web/views/transaction_view.ex:285 msgid "Contract Creation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 msgid "Contract Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:26 +#: 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:41 +#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 msgid "Copy Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:16 +#: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:20 +#: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:105 +#: lib/block_scout_web/templates/address/overview.html.eex:105 msgid "Created by" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 msgid "Curl" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:63 +#: 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/_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:67 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:133 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 msgid "Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 msgid "Description" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 msgid "Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:58 +#: lib/block_scout_web/templates/block/overview.html.eex:58 msgid "Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 msgid "ETH" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 msgid "Enter the Solidity Contract Code below" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:32 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:32 msgid "Error trying to fetch balances." msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:213 +#: lib/block_scout_web/views/transaction_view.ex:213 msgid "Error: %{reason}" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:211 +#: lib/block_scout_web/views/transaction_view.ex:211 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:15 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:15 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/layout/app.html.eex:55 +#: lib/block_scout_web/templates/layout/app.html.eex:55 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:30 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" @@ -389,309 +501,404 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 msgid "Example Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 msgid "Execute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:29 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:29 msgid "Fetching tokens..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:26 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:26 msgid "Forked Blocks (Reorgs)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:40 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_transaction_view.ex:7 +#: lib/block_scout_web/views/address_transaction_view.ex:7 msgid "From" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 msgid "GET" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:152 +#: lib/block_scout_web/templates/block/overview.html.eex:152 msgid "Gas Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:61 +#: lib/block_scout_web/templates/block/_tile.html.eex:61 #: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:146 #: lib/block_scout_web/templates/block/overview.html.eex:146 msgid "Gas Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:19 +#: lib/block_scout_web/templates/layout/_footer.html.eex:19 msgid "Github" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:20 +#: lib/block_scout_web/views/block_view.ex:20 #: lib/block_scout_web/views/wei_helpers.ex:71 msgid "Gwei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:38 msgid "Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:76 #: lib/block_scout_web/templates/transaction/_tile.html.eex:76 msgid "IN" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:51 +#: lib/block_scout_web/templates/layout/app.html.eex:51 msgid "Indexing Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 msgid "Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 msgid "Internal Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:303 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/transaction_view.ex:339 #: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/views/tokens/overview_view.ex:38 +#: lib/block_scout_web/views/tokens/overview_view.ex:38 msgid "Inventory" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:52 +#: lib/block_scout_web/templates/layout/app.html.eex:52 msgid "Less than" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:238 msgid "Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: 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/address_logs/index.html.eex:8 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: 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:309 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:8 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/transaction_view.ex:340 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 +#: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/views/address_view.ex:121 #: lib/block_scout_web/views/address_view.ex:121 msgid "Market Cap" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:194 +#: lib/block_scout_web/views/transaction_view.ex:194 msgid "Max of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/chain/_block.html.eex:15 +#: lib/block_scout_web/templates/chain/_block.html.eex:15 msgid "Miner" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 msgid "Model" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 msgid "Module" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 msgid "More internal transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:111 +#: lib/block_scout_web/templates/chain/show.html.eex:111 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 +#: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 msgid "Must be set to:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction_log/index.html.eex:64 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 msgid "Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 msgid "New Smart Contract" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 #: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:39 +#: lib/block_scout_web/templates/address_token/index.html.eex:39 msgid "Next" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 +#: lib/block_scout_web/templates/block/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 #: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:72 #: lib/block_scout_web/templates/transaction/_tile.html.eex:72 msgid "OUT" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:34 +#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 msgid "Owner Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 msgid "POST" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 msgid "Parameters" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:45 +#: lib/block_scout_web/templates/block/overview.html.eex:45 msgid "Parent Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:44 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:44 +#: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:242 +#: lib/block_scout_web/views/transaction_view.ex:242 msgid "Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 msgid "Pending Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:84 +#: lib/block_scout_web/templates/block/overview.html.eex:84 msgid "Position %{index}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/layout/app.html.eex:54 #: lib/block_scout_web/templates/layout/app.html.eex:54 msgid "Price" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 +#: lib/block_scout_web/templates/address/overview.html.eex:33 +#: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 msgid "Query" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:58 +#: 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:306 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/tokens/overview_view.ex:37 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 msgid "Request URL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 msgid "Reset" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 msgid "Response Body" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 msgid "Responses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:128 #: lib/block_scout_web/templates/layout/_topnav.html.eex:128 msgid "Search" msgstr "" @@ -699,318 +906,406 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 +#: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 msgid "Search tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 msgid "Server Response" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 msgid "Show QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/views/transaction_view.ex:210 #: lib/block_scout_web/views/transaction_view.ex:210 msgid "Success" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/overview.html.eex:85 +#: lib/block_scout_web/templates/transaction/overview.html.eex:85 msgid "TX Fee" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:25 +#: lib/block_scout_web/templates/layout/_footer.html.eex:25 msgid "Telegram" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 msgid "There are no holders for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 msgid "There are no internal transactions for this address." msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:147 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 msgid "There are no logs for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 msgid "There are no token transfers for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:24 +#: lib/block_scout_web/templates/address_token/index.html.eex:24 msgid "There are no tokens for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 msgid "There are no tokens." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:62 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:62 msgid "There are no transactions for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/index.html.eex:35 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 msgid "There are no transactions for this block." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 msgid "There are no transfers for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:35 +#: lib/block_scout_web/templates/transaction/overview.html.eex:35 msgid "This transaction is pending confirmation." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:6 +#: lib/block_scout_web/views/address_transaction_view.ex:6 #: lib/block_scout_web/views/address_transaction_view.ex:6 msgid "To" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:6 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:6 msgid "Toggle navigation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 msgid "Token Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/views/tokens/overview_view.ex:36 +#: lib/block_scout_web/views/tokens/overview_view.ex:36 msgid "Token Holders" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Token ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 #: lib/block_scout_web/templates/transaction/overview.html.eex:180 #: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 +#: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/transaction_view.ex:338 #: lib/block_scout_web/views/transaction_view.ex:338 msgid "Token Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 +#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:301 +#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:13 +#: lib/block_scout_web/templates/address/_metatags.html.eex:13 msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:67 +#: lib/block_scout_web/templates/block/overview.html.eex:67 msgid "Total Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 msgid "Total Supply" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:56 +#: lib/block_scout_web/templates/chain/show.html.eex:56 msgid "Total transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/views/transaction_view.ex:287 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 msgid "Transaction %{transaction} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:11 +#: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:3 +#: lib/block_scout_web/templates/address/_tabs.html.eex:3 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/chain/show.html.eex:108 +#: lib/block_scout_web/templates/chain/show.html.eex:108 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:35 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:302 +#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:19 +#: lib/block_scout_web/templates/address/_tile.html.eex:19 msgid "Transactions sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 msgid "Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 msgid "Try it out" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:22 +#: lib/block_scout_web/templates/layout/_footer.html.eex:22 msgid "Twitter" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:23 #: lib/block_scout_web/templates/layout/_topnav.html.eex:23 msgid "Uncles" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 msgid "Unique Token" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:232 +#: lib/block_scout_web/templates/transaction/overview.html.eex:232 msgid "Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:39 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:39 msgid "Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:4 +#: lib/block_scout_web/templates/transaction/index.html.eex:4 msgid "Validated Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:23 +#: lib/block_scout_web/templates/address/_tile.html.eex:23 msgid "Validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:16 #: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "Verify & publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 msgid "View Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:56 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:56 msgid "View Less Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:55 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 msgid "View More Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:9 +#: lib/block_scout_web/templates/address/_metatags.html.eex:9 msgid "View the account balance, transactions, and other data for %{address} on the %{network}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:10 +#: lib/block_scout_web/templates/block/_metatags.html.eex:10 msgid "View the transactions, token transfers, and uncles for block number %{block_number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 msgid "View transaction %{transaction} on %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 msgid "WEI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:72 +#: lib/block_scout_web/templates/chain/show.html.eex:72 msgid "Wallet addresses" msgstr "" @@ -1021,712 +1316,876 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 msgid "Yes" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:111 +#: lib/block_scout_web/templates/address/overview.html.eex:111 msgid "at" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:22 +#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 msgid "required" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 msgid "string" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:21 +#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:21 +#: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:25 +#: lib/block_scout_web/views/internal_transaction_view.ex:25 msgid "Create" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:23 +#: lib/block_scout_web/views/internal_transaction_view.ex:23 msgid "Delegate Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/views/internal_transaction_view.ex:27 +#: lib/block_scout_web/views/internal_transaction_view.ex:27 msgid "Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:26 +#: lib/block_scout_web/views/internal_transaction_view.ex:26 msgid "Self-Destruct" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 msgid "Decimals" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 #: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 msgid "Loading..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 msgid "Loading...." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:64 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:64 msgid "APIs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:68 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:68 msgid "GraphQL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 msgid "Loading" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:73 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:73 msgid "RPC" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:6 +#: lib/block_scout_web/templates/api_docs/index.html.eex:6 msgid "This API is provided for developers transitioning their applications from Etherscan to BlockScout. It supports GET and POST requests." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:110 +#: lib/block_scout_web/templates/transaction/overview.html.eex:110 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 +#: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:7 +#: lib/block_scout_web/views/block_transaction_view.ex:7 msgid "Easy Cowboy! This block does not exist yet!" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:11 +#: lib/block_scout_web/views/block_transaction_view.ex:11 msgid "This block has not been processed yet." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:6 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:6 msgid "Invalid Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:22 +#: lib/block_scout_web/views/internal_transaction_view.ex:22 msgid "Call Code" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:24 +#: lib/block_scout_web/views/internal_transaction_view.ex:24 msgid "Static Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 msgid "Decoded" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:66 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 #: lib/block_scout_web/templates/transaction_log/index.html.eex:65 msgid "Type" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 msgid "Method Id" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:38 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 msgid "To see decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 msgid "Transaction Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 msgid "Transaction Inputs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "here" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 msgid "Failed to decode input data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 msgid "Error rendering value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 #: lib/block_scout_web/templates/transaction_log/index.html.eex:77 msgid "Copy Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 msgid "Failed to decode log data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:61 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 msgid "Log Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:57 +#: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/chain/show.html.eex:91 +#: lib/block_scout_web/templates/chain/show.html.eex:91 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction/index.html.eex:20 msgid "Something went wrong, click to reload." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:18 +#: lib/block_scout_web/templates/address_validation/index.html.eex:18 msgid "There are no blocks validated by this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:26 +#: lib/block_scout_web/templates/transaction/index.html.eex:26 msgid "There are no transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 msgid "Balances" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 +#: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 msgid "Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 +#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/chain/show.html.eex:13 #: lib/block_scout_web/templates/chain/show.html.eex:13 msgid "Loading chart" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 msgid "There is no coin history for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/chain/show.html.eex:16 #: lib/block_scout_web/templates/chain/show.html.eex:16 msgid "There was a problem loading the chart." msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 msgid "There are no pending transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:16 +#: lib/block_scout_web/templates/block/index.html.eex:16 msgid "There are no blocks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 msgid "License Expires" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 msgid "License ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:48 +#: lib/block_scout_web/templates/address/overview.html.eex:48 msgid "Show Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 msgid "Validator Creation Date" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 msgid "Validator Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:52 +#: lib/block_scout_web/templates/address/overview.html.eex:52 msgid "Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:139 +#: lib/block_scout_web/templates/block/overview.html.eex:139 msgid "Block Rewards" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:60 +#: lib/block_scout_web/views/block_view.ex:60 msgid "Emission Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:56 +#: lib/block_scout_web/views/block_view.ex:56 msgid "Miner Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:64 +#: lib/block_scout_web/views/block_view.ex:64 msgid "Uncle Reward" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 msgid "IMPORTANT: This information is a best guess based on similar functions from other verified contracts." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 msgid "Potential matches from our contract method database:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 msgid "To have guaranteed accuracy, use the link above to verify the contract's source code." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 msgid "To see accurate decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 msgid "Emission Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:117 +#: lib/block_scout_web/templates/chain/show.html.eex:117 msgid "Something went wrong, click to retry." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:17 +#: lib/block_scout_web/templates/layout/_footer.html.eex:17 msgid "Blockscout is a tool for inspecting and analyzing EVM based blockchains. Blockchain explorer for Ethereum Networks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:36 +#: lib/block_scout_web/templates/layout/_footer.html.eex:36 msgid "Chat" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:35 +#: lib/block_scout_web/templates/layout/_footer.html.eex:35 msgid "Contribute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:44 +#: lib/block_scout_web/templates/layout/_footer.html.eex:44 msgid "Main Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:68 +#: lib/block_scout_web/templates/layout/_footer.html.eex:68 msgid "Other Explorers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:34 +#: lib/block_scout_web/templates/layout/_footer.html.eex:34 msgid "Submit an Issue" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:57 +#: lib/block_scout_web/templates/layout/_footer.html.eex:57 msgid "Test Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:83 +#: lib/block_scout_web/templates/layout/_footer.html.eex:83 msgid "Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:37 +#: lib/block_scout_web/templates/layout/_footer.html.eex:37 msgid "Support" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:55 +#: 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:71 +#: 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:43 +#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Genesis Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 msgid "1 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 msgid "1 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 msgid "2 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 msgid "2 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 msgid "3 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 msgid "3 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 msgid "4 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 msgid "4 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 msgid "5 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 msgid "5 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 msgid "Contract Libraries" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:88 +#: lib/block_scout_web/templates/address/overview.html.eex:88 msgid "Last Balance Update: Block #" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:84 +#: lib/block_scout_web/templates/address/overview.html.eex:84 msgid "Transactions Sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:102 +#: lib/block_scout_web/templates/transaction/overview.html.eex:102 msgid "Transaction Speed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:120 #: lib/block_scout_web/templates/transaction/overview.html.eex:120 msgid "Hex (Default)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:123 +#: lib/block_scout_web/templates/transaction/overview.html.eex:123 msgid "UTF-8" msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 msgid "For any existing contracts in the database, insert all ABI entries into the contract_methods table. Use this in case you have verified smart contracts before early March 2019 and you want other contracts with the same functions to show those ABI's as candidate matches." msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 msgid "Run" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:75 +#: lib/block_scout_web/templates/address/overview.html.eex:75 msgid ">=" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:79 +#: lib/block_scout_web/templates/address/overview.html.eex:79 msgid "Incoming Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:119 +#: lib/block_scout_web/templates/address/overview.html.eex:119 msgid "Error: Could not determine contract creator." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:109 #: lib/block_scout_web/templates/layout/_topnav.html.eex:109 msgid "Search by address, token symbol name, transaction hash, or block number" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 msgid "EVM Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 msgid "Enter constructor arguments if the contract had any" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:305 +#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:52 +#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 msgid "Decompiled contract code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 msgid "Decompiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 msgid "Optimization runs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 msgid "ERC-20" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 msgid "ERC-721" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:4 +#: lib/block_scout_web/templates/api_docs/index.html.eex:4 msgid "API Documentation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:86 +#: lib/block_scout_web/templates/chain/show.html.eex:86 msgid "View All Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:107 +#: lib/block_scout_web/templates/chain/show.html.eex:107 msgid "View All Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:228 +#: lib/block_scout_web/templates/transaction/overview.html.eex:228 msgid "Gas" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/views/transaction_view.ex:341 +#: lib/block_scout_web/views/transaction_view.ex:341 msgid "Raw Trace" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:64 +#: lib/block_scout_web/templates/chain/show.html.eex:64 msgid "Total blocks" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "Page" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 msgid "Records" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 msgid "Show" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 9802f885ab..3c7a316f2f 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 @@ -1,5 +1,6 @@ #, elixir-format #: lib/block_scout_web/views/address_token_balance_view.ex:7 +#: lib/block_scout_web/views/address_token_balance_view.ex:7 msgid "%{count} token" msgid_plural "%{count} tokens" msgstr[0] "" @@ -7,6 +8,7 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:27 +#: lib/block_scout_web/templates/block/_tile.html.eex:27 msgid "%{count} transaction" msgid_plural "%{count} transactions" msgstr[0] "" @@ -14,374 +16,484 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:3 +#: lib/block_scout_web/templates/address/_metatags.html.eex:3 msgid "%{address} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:8 +#: lib/block_scout_web/templates/block/overview.html.eex:8 msgid "%{block_type} Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:15 +#: lib/block_scout_web/templates/block/overview.html.eex:15 msgid "%{block_type} Height:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:10 msgid "%{block_type}s" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/chain/_block.html.eex:11 #: lib/block_scout_web/templates/chain/_block.html.eex:11 msgid "%{count} Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:2 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:2 msgid "%{subnetwork} %{network} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_default_title.html.eex:2 +#: lib/block_scout_web/templates/layout/_default_title.html.eex:2 msgid "%{subnetwork} Explorer - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:209 +#: lib/block_scout_web/views/transaction_view.ex:209 msgid "(Awaiting internal transactions for status)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 msgid "(query)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:35 +#: lib/block_scout_web/templates/layout/app.html.eex:35 msgid "- We're indexing this chain right now. Some of the counts may be inaccurate." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 msgid "A string with the name of the action to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 msgid "API endpoints for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 msgid "API for the %{subnetwork} - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:56 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:56 msgid "Accounts" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 msgid "Action" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/views/address_view.ex:99 +#: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 msgid "Addresses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:8 +#: lib/block_scout_web/views/address_transaction_view.ex:8 #: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "All" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:47 +#: lib/block_scout_web/templates/chain/show.html.eex:47 msgid "Average block time" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:3 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:3 msgid "Balance" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:5 +#: lib/block_scout_web/templates/api_docs/index.html.eex:5 msgid "Base URL:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_link.html.eex:2 +#: lib/block_scout_web/templates/block/_link.html.eex:2 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 msgid "Block #%{number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:3 +#: lib/block_scout_web/templates/block/_metatags.html.eex:3 msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:73 msgid "Block Confirmations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Block Height: %{height}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:50 +#: lib/block_scout_web/templates/layout/app.html.eex:50 msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:59 +#: lib/block_scout_web/templates/transaction/overview.html.eex:59 msgid "Block Number" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:22 +#: lib/block_scout_web/views/transaction_view.ex:22 msgid "Block Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:4 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:4 msgid "BlockScout provides analytics data, API, and Smart Contract tools for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:20 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:20 msgid "Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:49 +#: lib/block_scout_web/templates/layout/app.html.eex:49 msgid "Blocks Indexed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:32 +#: 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/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/templates/address_validation/index.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:313 +#: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 msgid "Cancel" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 msgid "Clear" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/address/overview.html.eex:149 +#: lib/block_scout_web/templates/address/overview.html.eex:149 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:42 +#: 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:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 -#: lib/block_scout_web/views/address_view.ex:304 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 +#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 msgid "Compiler" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:30 +#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:6 #: lib/block_scout_web/templates/block/index.html.eex:6 msgid "Connection Lost, click to load newer blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 msgid "Connection Lost, click to load newer internal transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/transaction/index.html.eex:15 +#: lib/block_scout_web/templates/transaction/index.html.eex:15 msgid "Connection Lost, click to load newer transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:10 +#: lib/block_scout_web/templates/address_validation/index.html.eex:10 msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:53 +#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:97 #: lib/block_scout_web/views/address_view.ex:97 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:71 msgid "Contract Address Pending" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:286 +#: lib/block_scout_web/views/transaction_view.ex:286 msgid "Contract Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:285 +#: lib/block_scout_web/views/transaction_view.ex:285 msgid "Contract Creation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 msgid "Contract Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:26 +#: 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:41 +#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 msgid "Copy Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:16 +#: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:20 +#: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:105 +#: lib/block_scout_web/templates/address/overview.html.eex:105 msgid "Created by" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 msgid "Curl" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:63 +#: 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/_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:67 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:133 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 msgid "Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 msgid "Description" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 msgid "Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:58 +#: lib/block_scout_web/templates/block/overview.html.eex:58 msgid "Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 msgid "ETH" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 msgid "Enter the Solidity Contract Code below" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:32 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:32 msgid "Error trying to fetch balances." msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:213 +#: lib/block_scout_web/views/transaction_view.ex:213 msgid "Error: %{reason}" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:211 +#: lib/block_scout_web/views/transaction_view.ex:211 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:15 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:15 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/layout/app.html.eex:55 +#: lib/block_scout_web/templates/layout/app.html.eex:55 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:30 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/templates/transaction/overview.html.eex:210 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" @@ -389,309 +501,404 @@ msgstr "POA" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 msgid "Example Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 msgid "Execute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:29 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:29 msgid "Fetching tokens..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:26 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:26 msgid "Forked Blocks (Reorgs)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:40 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_transaction_view.ex:7 +#: lib/block_scout_web/views/address_transaction_view.ex:7 msgid "From" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 msgid "GET" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:152 +#: lib/block_scout_web/templates/block/overview.html.eex:152 msgid "Gas Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:61 +#: lib/block_scout_web/templates/block/_tile.html.eex:61 #: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:146 #: lib/block_scout_web/templates/block/overview.html.eex:146 msgid "Gas Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:19 +#: lib/block_scout_web/templates/layout/_footer.html.eex:19 msgid "Github" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:20 +#: lib/block_scout_web/views/block_view.ex:20 #: lib/block_scout_web/views/wei_helpers.ex:71 msgid "Gwei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:38 msgid "Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:76 #: lib/block_scout_web/templates/transaction/_tile.html.eex:76 msgid "IN" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:51 +#: lib/block_scout_web/templates/layout/app.html.eex:51 msgid "Indexing Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 msgid "Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 msgid "Internal Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:303 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/transaction_view.ex:339 #: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/views/tokens/overview_view.ex:38 +#: lib/block_scout_web/views/tokens/overview_view.ex:38 msgid "Inventory" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:52 +#: lib/block_scout_web/templates/layout/app.html.eex:52 msgid "Less than" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:238 msgid "Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: 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/address_logs/index.html.eex:8 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: 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:309 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:8 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/transaction_view.ex:340 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 +#: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/views/address_view.ex:121 #: lib/block_scout_web/views/address_view.ex:121 msgid "Market Cap" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:194 +#: lib/block_scout_web/views/transaction_view.ex:194 msgid "Max of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/chain/_block.html.eex:15 +#: lib/block_scout_web/templates/chain/_block.html.eex:15 msgid "Miner" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 msgid "Model" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 msgid "Module" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 msgid "More internal transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:111 +#: lib/block_scout_web/templates/chain/show.html.eex:111 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 +#: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 msgid "Must be set to:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction_log/index.html.eex:64 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 msgid "Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 msgid "New Smart Contract" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 #: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:39 +#: lib/block_scout_web/templates/address_token/index.html.eex:39 msgid "Next" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 +#: lib/block_scout_web/templates/block/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:80 #: lib/block_scout_web/templates/transaction/overview.html.eex:80 msgid "Nonce" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:72 #: lib/block_scout_web/templates/transaction/_tile.html.eex:72 msgid "OUT" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:34 +#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 msgid "Owner Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 msgid "POST" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 msgid "Parameters" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:45 +#: lib/block_scout_web/templates/block/overview.html.eex:45 msgid "Parent Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:44 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:44 +#: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:242 +#: lib/block_scout_web/views/transaction_view.ex:242 msgid "Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 msgid "Pending Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:84 +#: lib/block_scout_web/templates/block/overview.html.eex:84 msgid "Position %{index}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/layout/app.html.eex:54 #: lib/block_scout_web/templates/layout/app.html.eex:54 msgid "Price" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 +#: lib/block_scout_web/templates/address/overview.html.eex:33 +#: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/address/overview.html.eex:140 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 msgid "Query" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:58 +#: 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:306 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/tokens/overview_view.ex:37 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 msgid "Request URL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 msgid "Reset" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 msgid "Response Body" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 msgid "Responses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:128 #: lib/block_scout_web/templates/layout/_topnav.html.eex:128 msgid "Search" msgstr "" @@ -699,318 +906,406 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 +#: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 msgid "Search tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 msgid "Server Response" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 msgid "Show QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/views/transaction_view.ex:210 #: lib/block_scout_web/views/transaction_view.ex:210 msgid "Success" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/overview.html.eex:85 +#: lib/block_scout_web/templates/transaction/overview.html.eex:85 msgid "TX Fee" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:25 +#: lib/block_scout_web/templates/layout/_footer.html.eex:25 msgid "Telegram" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 msgid "There are no holders for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 msgid "There are no internal transactions for this address." msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:147 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 msgid "There are no logs for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 msgid "There are no token transfers for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:24 +#: lib/block_scout_web/templates/address_token/index.html.eex:24 msgid "There are no tokens for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 msgid "There are no tokens." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:62 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:62 msgid "There are no transactions for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/index.html.eex:35 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 msgid "There are no transactions for this block." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 msgid "There are no transfers for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:35 +#: lib/block_scout_web/templates/transaction/overview.html.eex:35 msgid "This transaction is pending confirmation." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:6 +#: lib/block_scout_web/views/address_transaction_view.ex:6 #: lib/block_scout_web/views/address_transaction_view.ex:6 msgid "To" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:6 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:6 msgid "Toggle navigation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 msgid "Token Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/views/tokens/overview_view.ex:36 +#: lib/block_scout_web/views/tokens/overview_view.ex:36 msgid "Token Holders" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Token ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 #: lib/block_scout_web/templates/transaction/overview.html.eex:180 #: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 +#: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/transaction_view.ex:338 #: lib/block_scout_web/views/transaction_view.ex:338 msgid "Token Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 +#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:301 +#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:13 +#: lib/block_scout_web/templates/address/_metatags.html.eex:13 msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:67 +#: lib/block_scout_web/templates/block/overview.html.eex:67 msgid "Total Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 msgid "Total Supply" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:56 +#: lib/block_scout_web/templates/chain/show.html.eex:56 msgid "Total transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/views/transaction_view.ex:287 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 msgid "Transaction %{transaction} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:11 +#: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:3 +#: lib/block_scout_web/templates/address/_tabs.html.eex:3 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 #: lib/block_scout_web/templates/chain/show.html.eex:108 +#: lib/block_scout_web/templates/chain/show.html.eex:108 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:35 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:302 +#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:19 +#: lib/block_scout_web/templates/address/_tile.html.eex:19 msgid "Transactions sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 msgid "Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 msgid "Try it out" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:22 +#: lib/block_scout_web/templates/layout/_footer.html.eex:22 msgid "Twitter" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:23 #: lib/block_scout_web/templates/layout/_topnav.html.eex:23 msgid "Uncles" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 msgid "Unique Token" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:232 +#: lib/block_scout_web/templates/transaction/overview.html.eex:232 msgid "Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:39 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:39 msgid "Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:4 +#: lib/block_scout_web/templates/transaction/index.html.eex:4 msgid "Validated Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:23 +#: lib/block_scout_web/templates/address/_tile.html.eex:23 msgid "Validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:210 msgid "Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:16 #: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "Verify & publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 msgid "View Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:56 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:56 msgid "View Less Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:55 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 msgid "View More Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:9 +#: lib/block_scout_web/templates/address/_metatags.html.eex:9 msgid "View the account balance, transactions, and other data for %{address} on the %{network}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:10 +#: lib/block_scout_web/templates/block/_metatags.html.eex:10 msgid "View the transactions, token transfers, and uncles for block number %{block_number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 msgid "View transaction %{transaction} on %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 msgid "WEI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:72 +#: lib/block_scout_web/templates/chain/show.html.eex:72 msgid "Wallet addresses" msgstr "" @@ -1021,712 +1316,876 @@ msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 msgid "Yes" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:111 +#: lib/block_scout_web/templates/address/overview.html.eex:111 msgid "at" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:22 +#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 msgid "required" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 msgid "string" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:21 +#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:21 +#: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:25 +#: lib/block_scout_web/views/internal_transaction_view.ex:25 msgid "Create" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:23 +#: lib/block_scout_web/views/internal_transaction_view.ex:23 msgid "Delegate Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/views/internal_transaction_view.ex:27 +#: lib/block_scout_web/views/internal_transaction_view.ex:27 msgid "Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:26 +#: lib/block_scout_web/views/internal_transaction_view.ex:26 msgid "Self-Destruct" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 msgid "Decimals" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 #: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 msgid "Loading..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 msgid "Loading...." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:64 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:64 msgid "APIs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:68 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:68 msgid "GraphQL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 msgid "Loading" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:73 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:73 msgid "RPC" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:6 +#: lib/block_scout_web/templates/api_docs/index.html.eex:6 msgid "This API is provided for developers transitioning their applications from Etherscan to BlockScout. It supports GET and POST requests." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:110 +#: lib/block_scout_web/templates/transaction/overview.html.eex:110 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 +#: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:7 +#: lib/block_scout_web/views/block_transaction_view.ex:7 msgid "Easy Cowboy! This block does not exist yet!" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:11 +#: lib/block_scout_web/views/block_transaction_view.ex:11 msgid "This block has not been processed yet." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:6 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:6 msgid "Invalid Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:22 +#: lib/block_scout_web/views/internal_transaction_view.ex:22 msgid "Call Code" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:24 +#: lib/block_scout_web/views/internal_transaction_view.ex:24 msgid "Static Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 msgid "Decoded" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:66 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 #: lib/block_scout_web/templates/transaction_log/index.html.eex:65 msgid "Type" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 msgid "Method Id" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:38 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 msgid "To see decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 msgid "Transaction Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 msgid "Transaction Inputs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "here" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 msgid "Failed to decode input data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 msgid "Error rendering value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 #: lib/block_scout_web/templates/transaction_log/index.html.eex:77 msgid "Copy Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 msgid "Failed to decode log data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:61 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 msgid "Log Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:57 +#: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 #: lib/block_scout_web/templates/chain/show.html.eex:91 +#: lib/block_scout_web/templates/chain/show.html.eex:91 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction/index.html.eex:20 msgid "Something went wrong, click to reload." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:18 +#: lib/block_scout_web/templates/address_validation/index.html.eex:18 msgid "There are no blocks validated by this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:26 +#: lib/block_scout_web/templates/transaction/index.html.eex:26 msgid "There are no transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 msgid "Balances" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 +#: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 msgid "Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 +#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/chain/show.html.eex:13 #: lib/block_scout_web/templates/chain/show.html.eex:13 msgid "Loading chart" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 msgid "There is no coin history for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/chain/show.html.eex:16 #: lib/block_scout_web/templates/chain/show.html.eex:16 msgid "There was a problem loading the chart." msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 msgid "There are no pending transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:16 +#: lib/block_scout_web/templates/block/index.html.eex:16 msgid "There are no blocks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 msgid "License Expires" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 msgid "License ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:48 +#: lib/block_scout_web/templates/address/overview.html.eex:48 msgid "Show Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 msgid "Validator Creation Date" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 msgid "Validator Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:52 +#: lib/block_scout_web/templates/address/overview.html.eex:52 msgid "Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:139 +#: lib/block_scout_web/templates/block/overview.html.eex:139 msgid "Block Rewards" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:60 +#: lib/block_scout_web/views/block_view.ex:60 msgid "Emission Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:56 +#: lib/block_scout_web/views/block_view.ex:56 msgid "Miner Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:64 +#: lib/block_scout_web/views/block_view.ex:64 msgid "Uncle Reward" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 msgid "IMPORTANT: This information is a best guess based on similar functions from other verified contracts." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 msgid "Potential matches from our contract method database:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 msgid "To have guaranteed accuracy, use the link above to verify the contract's source code." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 msgid "To see accurate decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 msgid "Emission Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:117 +#: lib/block_scout_web/templates/chain/show.html.eex:117 msgid "Something went wrong, click to retry." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:17 +#: lib/block_scout_web/templates/layout/_footer.html.eex:17 msgid "Blockscout is a tool for inspecting and analyzing EVM based blockchains. Blockchain explorer for Ethereum Networks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:36 +#: lib/block_scout_web/templates/layout/_footer.html.eex:36 msgid "Chat" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:35 +#: lib/block_scout_web/templates/layout/_footer.html.eex:35 msgid "Contribute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:44 +#: lib/block_scout_web/templates/layout/_footer.html.eex:44 msgid "Main Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:68 +#: lib/block_scout_web/templates/layout/_footer.html.eex:68 msgid "Other Explorers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:34 +#: lib/block_scout_web/templates/layout/_footer.html.eex:34 msgid "Submit an Issue" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:57 +#: lib/block_scout_web/templates/layout/_footer.html.eex:57 msgid "Test Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:83 +#: lib/block_scout_web/templates/layout/_footer.html.eex:83 msgid "Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:37 +#: lib/block_scout_web/templates/layout/_footer.html.eex:37 msgid "Support" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:55 +#: 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:71 +#: 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:43 +#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Genesis Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 msgid "1 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 msgid "1 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 msgid "2 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 msgid "2 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 msgid "3 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 msgid "3 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 msgid "4 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 msgid "4 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 msgid "5 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 msgid "5 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 msgid "Contract Libraries" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:88 +#: lib/block_scout_web/templates/address/overview.html.eex:88 msgid "Last Balance Update: Block #" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:84 +#: lib/block_scout_web/templates/address/overview.html.eex:84 msgid "Transactions Sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:102 +#: lib/block_scout_web/templates/transaction/overview.html.eex:102 msgid "Transaction Speed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:116 +#: lib/block_scout_web/templates/transaction/overview.html.eex:120 #: lib/block_scout_web/templates/transaction/overview.html.eex:120 msgid "Hex (Default)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:123 +#: lib/block_scout_web/templates/transaction/overview.html.eex:123 msgid "UTF-8" msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 msgid "For any existing contracts in the database, insert all ABI entries into the contract_methods table. Use this in case you have verified smart contracts before early March 2019 and you want other contracts with the same functions to show those ABI's as candidate matches." msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 msgid "Run" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:75 +#: lib/block_scout_web/templates/address/overview.html.eex:75 msgid ">=" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:79 +#: lib/block_scout_web/templates/address/overview.html.eex:79 msgid "Incoming Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:119 +#: lib/block_scout_web/templates/address/overview.html.eex:119 msgid "Error: Could not determine contract creator." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:109 #: lib/block_scout_web/templates/layout/_topnav.html.eex:109 msgid "Search by address, token symbol name, transaction hash, or block number" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 msgid "EVM Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 msgid "Enter constructor arguments if the contract had any" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:305 +#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:52 +#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 msgid "Decompiled contract code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 msgid "Decompiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 msgid "Optimization runs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:180 msgid "ERC-20" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:194 msgid "ERC-721" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:4 +#: lib/block_scout_web/templates/api_docs/index.html.eex:4 msgid "API Documentation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:86 +#: lib/block_scout_web/templates/chain/show.html.eex:86 msgid "View All Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:107 +#: lib/block_scout_web/templates/chain/show.html.eex:107 msgid "View All Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:228 +#: lib/block_scout_web/templates/transaction/overview.html.eex:228 msgid "Gas" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/views/transaction_view.ex:341 +#: lib/block_scout_web/views/transaction_view.ex:341 msgid "Raw Trace" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:64 +#: lib/block_scout_web/templates/chain/show.html.eex:64 msgid "Total blocks" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "Page" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 msgid "Records" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 msgid "Show" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 f03b77b1ed6be2c9a19d26f4fe45f54a17cc98dd Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 28 May 2019 17:38:24 +0300 Subject: [PATCH 52/54] test issues --- .../assets/css/components/_verify_other_explorers.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss index 5aa97d8dd4..134b4e5fb4 100644 --- a/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss +++ b/apps/block_scout_web/assets/css/components/_verify_other_explorers.scss @@ -52,6 +52,7 @@ margin-left: 10px; } } + .exp-logo { min-width: 34px; border-right: 1px solid #e2e5ec; @@ -73,6 +74,7 @@ background-size: 16px 16px; } } + .exp-content { padding: 6px 9px 4px 9px; h3, div { From ec683e9a04c62aab8fbb186448d0d2343b4f0aca Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 28 May 2019 18:29:25 +0300 Subject: [PATCH 53/54] test issues --- apps/block_scout_web/priv/gettext/default.pot | 532 ++++++++++++++++-- 1 file changed, 497 insertions(+), 35 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 4855e731ba..0d86baf0ac 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1,5 +1,6 @@ #, elixir-format #: lib/block_scout_web/views/address_token_balance_view.ex:7 +#: lib/block_scout_web/views/address_token_balance_view.ex:7 msgid "%{count} token" msgid_plural "%{count} tokens" msgstr[0] "" @@ -7,6 +8,7 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:27 +#: lib/block_scout_web/templates/block/_tile.html.eex:27 msgid "%{count} transaction" msgid_plural "%{count} transactions" msgstr[0] "" @@ -14,684 +16,891 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:3 +#: lib/block_scout_web/templates/address/_metatags.html.eex:3 msgid "%{address} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:8 +#: lib/block_scout_web/templates/block/overview.html.eex:8 msgid "%{block_type} Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:15 +#: lib/block_scout_web/templates/block/overview.html.eex:15 msgid "%{block_type} Height:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:10 msgid "%{block_type}s" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/block/overview.html.eex:21 +#: lib/block_scout_web/templates/chain/_block.html.eex:11 #: lib/block_scout_web/templates/chain/_block.html.eex:11 msgid "%{count} Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:2 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:2 msgid "%{subnetwork} %{network} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_default_title.html.eex:2 +#: lib/block_scout_web/templates/layout/_default_title.html.eex:2 msgid "%{subnetwork} Explorer - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:209 +#: lib/block_scout_web/views/transaction_view.ex:209 msgid "(Awaiting internal transactions for status)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 msgid "(query)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:35 +#: lib/block_scout_web/templates/layout/app.html.eex:35 msgid "- We're indexing this chain right now. Some of the counts may be inaccurate." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 msgid "A string with the name of the action to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 msgid "API endpoints for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 +#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 msgid "API for the %{subnetwork} - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:56 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:56 msgid "Accounts" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 msgid "Action" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 #: lib/block_scout_web/templates/transaction_log/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 +#: lib/block_scout_web/views/address_view.ex:99 #: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/address/index.html.eex:4 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 msgid "Addresses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 #: lib/block_scout_web/templates/address_transaction/index.html.eex:23 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:23 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:8 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 #: lib/block_scout_web/views/address_transaction_view.ex:8 +#: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "All" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:47 +#: lib/block_scout_web/templates/chain/show.html.eex:47 msgid "Average block time" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:3 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:3 msgid "Balance" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:5 +#: lib/block_scout_web/templates/api_docs/index.html.eex:5 msgid "Base URL:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_link.html.eex:2 +#: lib/block_scout_web/templates/block/_link.html.eex:2 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 msgid "Block #%{number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:3 +#: lib/block_scout_web/templates/block/_metatags.html.eex:3 msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:72 +#: lib/block_scout_web/templates/transaction/overview.html.eex:72 msgid "Block Confirmations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Block Height: %{height}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:50 +#: lib/block_scout_web/templates/layout/app.html.eex:50 msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:59 +#: lib/block_scout_web/templates/transaction/overview.html.eex:58 +#: lib/block_scout_web/templates/transaction/overview.html.eex:58 msgid "Block Number" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:22 +#: lib/block_scout_web/views/transaction_view.ex:22 msgid "Block Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:4 +#: lib/block_scout_web/templates/chain/_metatags.html.eex:4 msgid "BlockScout provides analytics data, API, and Smart Contract tools for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/chain/show.html.eex:87 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:20 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:20 msgid "Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:49 +#: lib/block_scout_web/templates/layout/app.html.eex:49 msgid "Blocks Indexed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:32 +#: 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/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/templates/address_validation/index.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:313 +#: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 msgid "Cancel" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 msgid "Clear" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:141 -#: lib/block_scout_web/templates/address/overview.html.eex:149 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 +#: lib/block_scout_web/templates/address/overview.html.eex:142 +#: lib/block_scout_web/templates/address/overview.html.eex:142 +#: lib/block_scout_web/templates/address/overview.html.eex:150 +#: lib/block_scout_web/templates/address/overview.html.eex:150 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:42 +#: 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:165 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 -#: lib/block_scout_web/views/address_view.ex:304 +#: lib/block_scout_web/views/address_view.ex:309 +#: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 msgid "Compiler" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:30 +#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 +#: lib/block_scout_web/templates/block/index.html.eex:6 #: lib/block_scout_web/templates/block/index.html.eex:6 msgid "Connection Lost, click to load newer blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 msgid "Connection Lost, click to load newer internal transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:11 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 #: lib/block_scout_web/templates/transaction/index.html.eex:15 +#: lib/block_scout_web/templates/transaction/index.html.eex:15 msgid "Connection Lost, click to load newer transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:10 +#: lib/block_scout_web/templates/address_validation/index.html.eex:10 msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:53 +#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 +#: lib/block_scout_web/views/address_view.ex:97 #: lib/block_scout_web/views/address_view.ex:97 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 +#: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:37 #: lib/block_scout_web/views/address_view.ex:71 +#: lib/block_scout_web/views/address_view.ex:71 msgid "Contract Address Pending" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:286 +#: lib/block_scout_web/views/transaction_view.ex:286 msgid "Contract Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:285 +#: lib/block_scout_web/views/transaction_view.ex:285 msgid "Contract Creation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 msgid "Contract Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:26 +#: 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:41 +#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:13 +#: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 msgid "Copy Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:16 +#: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:20 +#: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:105 +#: lib/block_scout_web/templates/address/overview.html.eex:105 msgid "Created by" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 msgid "Curl" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:63 +#: 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/_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:67 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:133 msgid "Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 msgid "Description" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/address/overview.html.eex:8 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 msgid "Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:58 +#: lib/block_scout_web/templates/block/overview.html.eex:58 msgid "Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 msgid "ETH" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 msgid "Enter the Solidity Contract Code below" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:32 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:32 msgid "Error trying to fetch balances." msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:213 +#: lib/block_scout_web/views/transaction_view.ex:213 msgid "Error: %{reason}" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:211 +#: lib/block_scout_web/views/transaction_view.ex:211 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:15 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:15 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 +#: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:30 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 +#: lib/block_scout_web/views/wei_helpers.ex:72 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 msgid "Example Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 msgid "Execute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:29 +#: lib/block_scout_web/templates/address/_balance_card.html.eex:29 msgid "Fetching tokens..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:26 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:26 msgid "Forked Blocks (Reorgs)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:40 #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:7 +#: lib/block_scout_web/views/address_transaction_view.ex:7 #: lib/block_scout_web/views/address_transaction_view.ex:7 msgid "From" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 msgid "GET" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/_tile.html.eex:56 +#: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:152 +#: lib/block_scout_web/templates/block/overview.html.eex:152 msgid "Gas Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:61 +#: lib/block_scout_web/templates/block/_tile.html.eex:61 #: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:98 +#: lib/block_scout_web/templates/block/overview.html.eex:146 #: lib/block_scout_web/templates/block/overview.html.eex:146 msgid "Gas Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:19 +#: lib/block_scout_web/templates/layout/_footer.html.eex:19 msgid "Github" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:20 +#: lib/block_scout_web/views/block_view.ex:20 +#: lib/block_scout_web/views/wei_helpers.ex:71 #: lib/block_scout_web/views/wei_helpers.ex:71 msgid "Gwei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:38 msgid "Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:76 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:74 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:74 msgid "IN" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:51 +#: lib/block_scout_web/templates/layout/app.html.eex:51 msgid "Indexing Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 msgid "Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 msgid "Internal Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address/_tabs.html.eex:14 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:303 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/address_view.ex:308 +#: lib/block_scout_web/views/transaction_view.ex:339 #: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/views/tokens/overview_view.ex:38 +#: lib/block_scout_web/views/tokens/overview_view.ex:38 msgid "Inventory" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:52 +#: lib/block_scout_web/templates/layout/app.html.eex:52 msgid "Less than" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:238 +#: lib/block_scout_web/templates/transaction/overview.html.eex:237 +#: lib/block_scout_web/templates/transaction/overview.html.eex:237 msgid "Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:26 +#: 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/address_logs/index.html.eex:8 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 +#: 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:309 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:8 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/address_view.ex:314 +#: lib/block_scout_web/views/transaction_view.ex:340 #: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 +#: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/templates/layout/app.html.eex:53 +#: lib/block_scout_web/views/address_view.ex:121 #: lib/block_scout_web/views/address_view.ex:121 msgid "Market Cap" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:194 +#: lib/block_scout_web/views/transaction_view.ex:194 msgid "Max of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/_tile.html.eex:38 +#: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/chain/_block.html.eex:15 +#: lib/block_scout_web/templates/chain/_block.html.eex:15 msgid "Miner" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 msgid "Model" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 msgid "Module" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 msgid "More internal transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:111 +#: lib/block_scout_web/templates/chain/show.html.eex:111 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 +#: lib/block_scout_web/templates/transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 msgid "Must be set to:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction_log/index.html.eex:64 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 msgid "Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 msgid "New Smart Contract" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 #: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:39 +#: lib/block_scout_web/templates/address_token/index.html.eex:39 msgid "Next" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:80 +#: lib/block_scout_web/templates/block/overview.html.eex:73 +#: lib/block_scout_web/templates/transaction/overview.html.eex:79 +#: lib/block_scout_web/templates/transaction/overview.html.eex:79 msgid "Nonce" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:72 +#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:70 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:70 msgid "OUT" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:34 +#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 msgid "Owner Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 msgid "POST" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 msgid "Parameters" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:45 +#: lib/block_scout_web/templates/block/overview.html.eex:45 msgid "Parent Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:44 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:44 #: lib/block_scout_web/views/transaction_view.ex:208 +#: lib/block_scout_web/views/transaction_view.ex:208 +#: lib/block_scout_web/views/transaction_view.ex:242 #: lib/block_scout_web/views/transaction_view.ex:242 msgid "Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 msgid "Pending Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:84 +#: lib/block_scout_web/templates/block/overview.html.eex:84 msgid "Position %{index}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/chain/show.html.eex:24 +#: lib/block_scout_web/templates/layout/app.html.eex:54 #: lib/block_scout_web/templates/layout/app.html.eex:54 msgid "Price" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:140 +#: lib/block_scout_web/templates/address/overview.html.eex:33 +#: lib/block_scout_web/templates/address/overview.html.eex:141 +#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 msgid "Query" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:58 +#: 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:306 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/address_view.ex:311 +#: lib/block_scout_web/views/tokens/overview_view.ex:37 #: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 msgid "Request URL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 msgid "Reset" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 msgid "Response Body" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 msgid "Responses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:111 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:128 #: lib/block_scout_web/templates/layout/_topnav.html.eex:128 msgid "Search" msgstr "" @@ -699,1034 +908,1287 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 +#: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 msgid "Search tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 msgid "Server Response" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/address/overview.html.eex:34 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 msgid "Show QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 +#: lib/block_scout_web/views/transaction_view.ex:210 #: lib/block_scout_web/views/transaction_view.ex:210 msgid "Success" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 -#: lib/block_scout_web/templates/transaction/overview.html.eex:85 +#: lib/block_scout_web/templates/transaction/overview.html.eex:84 +#: lib/block_scout_web/templates/transaction/overview.html.eex:84 msgid "TX Fee" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:25 +#: lib/block_scout_web/templates/layout/_footer.html.eex:25 msgid "Telegram" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 msgid "There are no holders for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 msgid "There are no internal transactions for this address." msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 +#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:147 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 msgid "There are no logs for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 msgid "There are no token transfers for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:24 +#: lib/block_scout_web/templates/address_token/index.html.eex:24 msgid "There are no tokens for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 msgid "There are no tokens." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:62 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:62 msgid "There are no transactions for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/index.html.eex:35 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 msgid "There are no transactions for this block." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 msgid "There are no transfers for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:35 +#: lib/block_scout_web/templates/transaction/overview.html.eex:35 msgid "This transaction is pending confirmation." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:29 +#: lib/block_scout_web/views/address_internal_transaction_view.ex:6 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 #: lib/block_scout_web/views/address_transaction_view.ex:6 +#: lib/block_scout_web/views/address_transaction_view.ex:6 msgid "To" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:6 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:6 msgid "Toggle navigation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 msgid "Token Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/views/tokens/overview_view.ex:36 +#: lib/block_scout_web/views/tokens/overview_view.ex:36 msgid "Token Holders" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Token ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 +#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 +#: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 +#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/tokens/overview_view.ex:35 +#: lib/block_scout_web/views/transaction_view.ex:338 #: lib/block_scout_web/views/transaction_view.ex:338 msgid "Token Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 +#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token/index.html.eex:8 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 -#: lib/block_scout_web/views/address_view.ex:301 +#: lib/block_scout_web/views/address_view.ex:306 +#: lib/block_scout_web/views/address_view.ex:306 msgid "Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:13 +#: lib/block_scout_web/templates/address/_metatags.html.eex:13 msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/address_logs/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:67 +#: lib/block_scout_web/templates/block/overview.html.eex:67 msgid "Total Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 msgid "Total Supply" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:56 +#: lib/block_scout_web/templates/chain/show.html.eex:56 msgid "Total transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/templates/address_logs/index.html.eex:22 +#: lib/block_scout_web/views/transaction_view.ex:287 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 msgid "Transaction %{transaction} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:11 +#: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:3 +#: lib/block_scout_web/templates/address/_tabs.html.eex:3 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:15 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 +#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 +#: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:302 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:35 +#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/views/address_view.ex:307 msgid "Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:19 +#: lib/block_scout_web/templates/address/_tile.html.eex:19 msgid "Transactions sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 msgid "Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 msgid "Try it out" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:22 +#: lib/block_scout_web/templates/layout/_footer.html.eex:22 msgid "Twitter" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/block/overview.html.eex:80 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:23 #: lib/block_scout_web/templates/layout/_topnav.html.eex:23 msgid "Uncles" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 +#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 msgid "Unique Token" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:232 +#: lib/block_scout_web/templates/transaction/overview.html.eex:231 +#: lib/block_scout_web/templates/transaction/overview.html.eex:231 msgid "Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:39 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:39 msgid "Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:4 +#: lib/block_scout_web/templates/transaction/index.html.eex:4 msgid "Validated Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:23 +#: lib/block_scout_web/templates/address/_tile.html.eex:23 msgid "Validations" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:210 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 +#: lib/block_scout_web/templates/transaction/overview.html.eex:209 msgid "Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:11 +#: lib/block_scout_web/templates/address_contract/index.html.eex:16 #: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "Verify & publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 msgid "View Contract" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_tile.html.eex:56 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 msgid "View Less Transfers" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:54 +#: lib/block_scout_web/templates/transaction/_tile.html.eex:54 msgid "View More Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:9 +#: lib/block_scout_web/templates/address/_metatags.html.eex:9 msgid "View the account balance, transactions, and other data for %{address} on the %{network}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:10 +#: lib/block_scout_web/templates/block/_metatags.html.eex:10 msgid "View the transactions, token transfers, and uncles for block number %{block_number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 +#: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 msgid "View transaction %{transaction} on %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 +#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 msgid "WEI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:72 +#: lib/block_scout_web/templates/chain/show.html.eex:72 msgid "Wallet addresses" msgstr "" #, elixir-format #: lib/block_scout_web/views/wei_helpers.ex:70 +#: lib/block_scout_web/views/wei_helpers.ex:70 msgid "Wei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 msgid "Yes" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:111 +#: lib/block_scout_web/templates/address/overview.html.eex:111 msgid "at" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:22 +#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 msgid "required" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 +#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 msgid "string" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:21 +#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:21 +#: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:25 +#: lib/block_scout_web/views/internal_transaction_view.ex:25 msgid "Create" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:23 +#: lib/block_scout_web/views/internal_transaction_view.ex:23 msgid "Delegate Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/block/_tile.html.eex:47 +#: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/templates/chain/_block.html.eex:23 #: lib/block_scout_web/views/internal_transaction_view.ex:27 +#: lib/block_scout_web/views/internal_transaction_view.ex:27 msgid "Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:26 +#: lib/block_scout_web/views/internal_transaction_view.ex:26 msgid "Self-Destruct" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 +#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 msgid "Decimals" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 +#: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/chain/show.html.eex:125 +#: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 #: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 msgid "Loading..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 msgid "Loading...." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:64 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:64 msgid "APIs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:68 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:68 msgid "GraphQL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 msgid "Loading" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:73 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:73 msgid "RPC" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:6 +#: lib/block_scout_web/templates/api_docs/index.html.eex:6 msgid "This API is provided for developers transitioning their applications from Etherscan to BlockScout. It supports GET and POST requests." msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:110 +#: lib/block_scout_web/templates/transaction/overview.html.eex:109 +#: lib/block_scout_web/templates/transaction/overview.html.eex:109 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 +#: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:7 +#: lib/block_scout_web/views/block_transaction_view.ex:7 msgid "Easy Cowboy! This block does not exist yet!" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:11 +#: lib/block_scout_web/views/block_transaction_view.ex:11 msgid "This block has not been processed yet." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:6 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:6 msgid "Invalid Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 +#: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:22 +#: lib/block_scout_web/views/internal_transaction_view.ex:22 msgid "Call Code" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:24 +#: lib/block_scout_web/views/internal_transaction_view.ex:24 msgid "Static Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:33 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 msgid "Decoded" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:66 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 #: lib/block_scout_web/templates/transaction_log/index.html.eex:65 msgid "Type" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 msgid "Method Id" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:38 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 msgid "To see decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 msgid "Transaction Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 msgid "Transaction Inputs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "here" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 msgid "Failed to decode input data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 msgid "Error rendering value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 #: lib/block_scout_web/templates/transaction_log/index.html.eex:77 msgid "Copy Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:48 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 msgid "Failed to decode log data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:61 +#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 msgid "Log Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 +#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 +#: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 +#: lib/block_scout_web/templates/address_validation/index.html.eex:22 +#: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 +#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 +#: lib/block_scout_web/templates/transaction/index.html.eex:20 msgid "Something went wrong, click to reload." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:18 +#: lib/block_scout_web/templates/address_validation/index.html.eex:18 msgid "There are no blocks validated by this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:26 +#: lib/block_scout_web/templates/transaction/index.html.eex:26 msgid "There are no transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 msgid "Balances" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 +#: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 msgid "Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:307 +#: lib/block_scout_web/templates/address/_tabs.html.eex:20 +#: lib/block_scout_web/views/address_view.ex:312 +#: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 +#: lib/block_scout_web/templates/chain/show.html.eex:13 #: lib/block_scout_web/templates/chain/show.html.eex:13 msgid "Loading chart" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 msgid "There is no coin history for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 +#: lib/block_scout_web/templates/chain/show.html.eex:16 #: lib/block_scout_web/templates/chain/show.html.eex:16 msgid "There was a problem loading the chart." msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 +#: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 msgid "There are no pending transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:16 +#: lib/block_scout_web/templates/block/index.html.eex:16 msgid "There are no blocks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 msgid "License Expires" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 msgid "License ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:48 +#: lib/block_scout_web/templates/address/overview.html.eex:48 msgid "Show Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 msgid "Validator Creation Date" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 +#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 msgid "Validator Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:52 +#: lib/block_scout_web/templates/address/overview.html.eex:52 msgid "Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:139 +#: lib/block_scout_web/templates/block/overview.html.eex:139 msgid "Block Rewards" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:60 +#: lib/block_scout_web/views/block_view.ex:60 msgid "Emission Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:56 +#: lib/block_scout_web/views/block_view.ex:56 msgid "Miner Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:64 +#: lib/block_scout_web/views/block_view.ex:64 msgid "Uncle Reward" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 msgid "IMPORTANT: This information is a best guess based on similar functions from other verified contracts." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 msgid "Potential matches from our contract method database:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 msgid "To have guaranteed accuracy, use the link above to verify the contract's source code." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 +#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 msgid "To see accurate decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 +#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 msgid "Emission Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:117 +#: lib/block_scout_web/templates/chain/show.html.eex:117 msgid "Something went wrong, click to retry." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:17 +#: lib/block_scout_web/templates/layout/_footer.html.eex:17 msgid "Blockscout is a tool for inspecting and analyzing EVM based blockchains. Blockchain explorer for Ethereum Networks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:36 +#: lib/block_scout_web/templates/layout/_footer.html.eex:36 msgid "Chat" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:35 +#: lib/block_scout_web/templates/layout/_footer.html.eex:35 msgid "Contribute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:44 +#: lib/block_scout_web/templates/layout/_footer.html.eex:44 msgid "Main Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:68 +#: lib/block_scout_web/templates/layout/_footer.html.eex:68 msgid "Other Explorers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:34 +#: lib/block_scout_web/templates/layout/_footer.html.eex:34 msgid "Submit an Issue" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:57 +#: lib/block_scout_web/templates/layout/_footer.html.eex:57 msgid "Test Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:83 +#: lib/block_scout_web/templates/layout/_footer.html.eex:83 msgid "Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:37 +#: lib/block_scout_web/templates/layout/_footer.html.eex:37 msgid "Support" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:55 +#: 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:71 +#: 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:43 +#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 +#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Genesis Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 msgid "1 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 msgid "1 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 msgid "2 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 msgid "2 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 msgid "3 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 msgid "3 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 msgid "4 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 msgid "4 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 msgid "5 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 msgid "5 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 msgid "Contract Libraries" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:88 +#: lib/block_scout_web/templates/address/overview.html.eex:88 msgid "Last Balance Update: Block #" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:84 +#: lib/block_scout_web/templates/address/overview.html.eex:84 msgid "Transactions Sent" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:102 +#: lib/block_scout_web/templates/transaction/overview.html.eex:101 +#: lib/block_scout_web/templates/transaction/overview.html.eex:101 msgid "Transaction Speed" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:116 -#: lib/block_scout_web/templates/transaction/overview.html.eex:120 +#: lib/block_scout_web/templates/transaction/overview.html.eex:115 +#: lib/block_scout_web/templates/transaction/overview.html.eex:115 +#: lib/block_scout_web/templates/transaction/overview.html.eex:119 +#: lib/block_scout_web/templates/transaction/overview.html.eex:119 msgid "Hex (Default)" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:123 +#: lib/block_scout_web/templates/transaction/overview.html.eex:122 +#: lib/block_scout_web/templates/transaction/overview.html.eex:122 msgid "UTF-8" msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 msgid "For any existing contracts in the database, insert all ABI entries into the contract_methods table. Use this in case you have verified smart contracts before early March 2019 and you want other contracts with the same functions to show those ABI's as candidate matches." msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 +#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 msgid "Run" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:75 +#: lib/block_scout_web/templates/address/overview.html.eex:75 msgid ">=" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:79 +#: lib/block_scout_web/templates/address/overview.html.eex:79 msgid "Incoming Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:119 +#: lib/block_scout_web/templates/address/overview.html.eex:119 msgid "Error: Could not determine contract creator." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:105 +#: lib/block_scout_web/templates/layout/_topnav.html.eex:109 #: lib/block_scout_web/templates/layout/_topnav.html.eex:109 msgid "Search by address, token symbol name, transaction hash, or block number" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 msgid "EVM Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 msgid "Enter constructor arguments if the contract had any" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format -#: lib/block_scout_web/views/address_view.ex:305 +#: lib/block_scout_web/views/address_view.ex:310 +#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:52 +#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 msgid "Decompiled contract code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 +#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 msgid "Decompiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 +#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 msgid "Optimization runs" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:180 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 +#: lib/block_scout_web/templates/transaction/overview.html.eex:179 msgid "ERC-20" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:194 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 +#: lib/block_scout_web/templates/transaction/overview.html.eex:193 msgid "ERC-721" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:4 +#: lib/block_scout_web/templates/api_docs/index.html.eex:4 msgid "API Documentation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:86 +#: lib/block_scout_web/templates/chain/show.html.eex:86 msgid "View All Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:107 +#: lib/block_scout_web/templates/chain/show.html.eex:107 msgid "View All Transactions" msgstr "" #, elixir-format -#: lib/block_scout_web/templates/transaction/overview.html.eex:228 +#: lib/block_scout_web/templates/transaction/overview.html.eex:227 +#: lib/block_scout_web/templates/transaction/overview.html.eex:227 msgid "Gas" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 +#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/views/transaction_view.ex:341 +#: lib/block_scout_web/views/transaction_view.ex:341 msgid "Raw Trace" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:64 +#: lib/block_scout_web/templates/chain/show.html.eex:64 msgid "Total blocks" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "Page" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 msgid "Records" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 msgid "Show" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 +#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 +#: 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 "" \ No newline at end of file +msgstr "" From 7abb703581caafc048b4444e2b98f01218def5f5 Mon Sep 17 00:00:00 2001 From: maxgrapps Date: Tue, 28 May 2019 18:48:25 +0300 Subject: [PATCH 54/54] test issue --- apps/block_scout_web/priv/gettext/default.pot | 462 ------------------ 1 file changed, 462 deletions(-) diff --git a/apps/block_scout_web/priv/gettext/default.pot b/apps/block_scout_web/priv/gettext/default.pot index 0d86baf0ac..9ba6b4c23b 100644 --- a/apps/block_scout_web/priv/gettext/default.pot +++ b/apps/block_scout_web/priv/gettext/default.pot @@ -1,6 +1,5 @@ #, elixir-format #: lib/block_scout_web/views/address_token_balance_view.ex:7 -#: lib/block_scout_web/views/address_token_balance_view.ex:7 msgid "%{count} token" msgid_plural "%{count} tokens" msgstr[0] "" @@ -8,7 +7,6 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:27 -#: lib/block_scout_web/templates/block/_tile.html.eex:27 msgid "%{count} transaction" msgid_plural "%{count} transactions" msgstr[0] "" @@ -16,891 +14,684 @@ msgstr[1] "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:3 -#: lib/block_scout_web/templates/address/_metatags.html.eex:3 msgid "%{address} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:8 -#: lib/block_scout_web/templates/block/overview.html.eex:8 msgid "%{block_type} Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:15 -#: lib/block_scout_web/templates/block/overview.html.eex:15 msgid "%{block_type} Height:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:10 -#: lib/block_scout_web/templates/block/index.html.eex:10 msgid "%{block_type}s" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:21 -#: lib/block_scout_web/templates/block/overview.html.eex:21 -#: lib/block_scout_web/templates/chain/_block.html.eex:11 #: lib/block_scout_web/templates/chain/_block.html.eex:11 msgid "%{count} Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:2 -#: lib/block_scout_web/templates/chain/_metatags.html.eex:2 msgid "%{subnetwork} %{network} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_default_title.html.eex:2 -#: lib/block_scout_web/templates/layout/_default_title.html.eex:2 msgid "%{subnetwork} Explorer - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:209 -#: lib/block_scout_web/views/transaction_view.ex:209 msgid "(Awaiting internal transactions for status)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:82 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:104 msgid "(query)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:35 -#: lib/block_scout_web/templates/layout/app.html.eex:35 msgid "- We're indexing this chain right now. Some of the counts may be inaccurate." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:73 msgid "A string with the name of the action to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:62 msgid "A string with the name of the module to be invoked." msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 -#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:4 msgid "API endpoints for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 -#: lib/block_scout_web/templates/api_docs/_metatags.html.eex:2 msgid "API for the %{subnetwork} - BlockScout" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:56 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:56 msgid "Accounts" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 msgid "Action" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:16 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/templates/transaction_log/index.html.eex:22 #: lib/block_scout_web/views/address_view.ex:99 -#: lib/block_scout_web/views/address_view.ex:99 msgid "Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/index.html.eex:4 -#: lib/block_scout_web/templates/address/index.html.eex:4 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:59 msgid "Addresses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:27 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/templates/address_transaction/index.html.eex:23 #: lib/block_scout_web/views/address_internal_transaction_view.ex:8 -#: lib/block_scout_web/views/address_internal_transaction_view.ex:8 -#: lib/block_scout_web/views/address_transaction_view.ex:8 #: lib/block_scout_web/views/address_transaction_view.ex:8 msgid "All" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:47 -#: lib/block_scout_web/templates/chain/show.html.eex:47 msgid "Average block time" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:3 -#: lib/block_scout_web/templates/address/_balance_card.html.eex:3 msgid "Balance" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:5 -#: lib/block_scout_web/templates/api_docs/index.html.eex:5 msgid "Base URL:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_link.html.eex:2 -#: lib/block_scout_web/templates/block/_link.html.eex:2 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 -#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:29 -#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:40 msgid "Block #%{number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:3 -#: lib/block_scout_web/templates/block/_metatags.html.eex:3 msgid "Block %{block_number} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:72 -#: lib/block_scout_web/templates/transaction/overview.html.eex:72 msgid "Block Confirmations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 -#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Block Height: %{height}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:50 -#: lib/block_scout_web/templates/layout/app.html.eex:50 msgid "Block Mined, awaiting import..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:58 -#: lib/block_scout_web/templates/transaction/overview.html.eex:58 msgid "Block Number" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:22 -#: lib/block_scout_web/views/transaction_view.ex:22 msgid "Block Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/_metatags.html.eex:4 -#: lib/block_scout_web/templates/chain/_metatags.html.eex:4 msgid "BlockScout provides analytics data, API, and Smart Contract tools for the %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:87 -#: lib/block_scout_web/templates/chain/show.html.eex:87 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:16 #: lib/block_scout_web/templates/layout/_topnav.html.eex:20 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:20 msgid "Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:49 -#: lib/block_scout_web/templates/layout/app.html.eex:49 msgid "Blocks Indexed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:32 -#: 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/overview.html.eex:95 #: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/templates/address_validation/index.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:313 #: lib/block_scout_web/views/address_view.ex:313 msgid "Blocks Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:135 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:47 msgid "Cancel" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:137 msgid "Clear" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37 -#: lib/block_scout_web/templates/address/overview.html.eex:142 #: lib/block_scout_web/templates/address/overview.html.eex:142 #: lib/block_scout_web/templates/address/overview.html.eex:150 -#: lib/block_scout_web/templates/address/overview.html.eex:150 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:106 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:114 msgid "Close" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:42 -#: 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:165 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:187 -#: lib/block_scout_web/views/address_view.ex:309 #: lib/block_scout_web/views/address_view.ex:309 msgid "Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:25 msgid "Compiler" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:30 -#: lib/block_scout_web/templates/address_contract/index.html.eex:30 msgid "Compiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:10 -#: lib/block_scout_web/templates/block/index.html.eex:6 #: lib/block_scout_web/templates/block/index.html.eex:6 msgid "Connection Lost, click to load newer blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:15 msgid "Connection Lost, click to load newer internal transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:11 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:11 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:15 -#: lib/block_scout_web/templates/transaction/index.html.eex:15 #: lib/block_scout_web/templates/transaction/index.html.eex:15 msgid "Connection Lost, click to load newer transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:10 -#: lib/block_scout_web/templates/address_validation/index.html.eex:10 msgid "Connection Lost, click to load newer validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:53 -#: lib/block_scout_web/templates/address_contract/index.html.eex:53 msgid "Contract ABI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:13 -#: lib/block_scout_web/views/address_view.ex:97 #: lib/block_scout_web/views/address_view.ex:97 msgid "Contract Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 -#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:16 #: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:37 -#: lib/block_scout_web/views/address_view.ex:71 #: lib/block_scout_web/views/address_view.ex:71 msgid "Contract Address Pending" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:286 -#: lib/block_scout_web/views/transaction_view.ex:286 msgid "Contract Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:285 -#: lib/block_scout_web/views/transaction_view.ex:285 msgid "Contract Creation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:19 msgid "Contract Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:26 -#: 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:41 -#: lib/block_scout_web/templates/address_contract/index.html.eex:41 msgid "Contract source code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:13 -#: lib/block_scout_web/templates/address/overview.html.eex:13 -#: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/address/overview.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:16 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:20 msgid "Copy Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:16 -#: lib/block_scout_web/templates/transaction/overview.html.eex:16 msgid "Copy Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:20 -#: lib/block_scout_web/templates/transaction/overview.html.eex:20 msgid "Copy Txn Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:105 -#: lib/block_scout_web/templates/address/overview.html.eex:105 msgid "Created by" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:146 msgid "Curl" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:63 -#: 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/_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:67 #: lib/block_scout_web/templates/transaction_log/index.html.eex:133 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:133 msgid "Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:53 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:188 msgid "Description" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:8 -#: lib/block_scout_web/templates/address/overview.html.eex:8 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166 msgid "Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:58 -#: lib/block_scout_web/templates/block/overview.html.eex:58 msgid "Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 -#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:50 msgid "ETH" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:57 msgid "Enter the Solidity Contract Code below" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:32 -#: lib/block_scout_web/templates/address/_balance_card.html.eex:32 msgid "Error trying to fetch balances." msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:213 -#: lib/block_scout_web/views/transaction_view.ex:213 msgid "Error: %{reason}" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:211 -#: lib/block_scout_web/views/transaction_view.ex:211 msgid "Error: (Awaiting internal transactions for reason)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:15 -#: lib/block_scout_web/templates/address/_balance_card.html.eex:15 -#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:21 #: lib/block_scout_web/templates/layout/app.html.eex:55 -#: lib/block_scout_web/templates/layout/app.html.eex:55 #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 -#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:30 #: lib/block_scout_web/templates/transaction/_tile.html.eex:30 #: lib/block_scout_web/templates/transaction/overview.html.eex:209 -#: lib/block_scout_web/templates/transaction/overview.html.eex:209 -#: lib/block_scout_web/views/wei_helpers.ex:72 #: lib/block_scout_web/views/wei_helpers.ex:72 msgid "Ether" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:211 msgid "Example Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:128 msgid "Execute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_balance_card.html.eex:29 -#: lib/block_scout_web/templates/address/_balance_card.html.eex:29 msgid "Fetching tokens..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:26 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:26 msgid "Forked Blocks (Reorgs)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:44 #: lib/block_scout_web/templates/address_transaction/index.html.eex:40 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:40 -#: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_internal_transaction_view.ex:7 #: lib/block_scout_web/views/address_transaction_view.ex:7 -#: lib/block_scout_web/views/address_transaction_view.ex:7 msgid "From" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:18 msgid "GET" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:56 -#: lib/block_scout_web/templates/block/_tile.html.eex:56 -#: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:105 #: lib/block_scout_web/templates/block/overview.html.eex:152 -#: lib/block_scout_web/templates/block/overview.html.eex:152 msgid "Gas Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:61 -#: lib/block_scout_web/templates/block/_tile.html.eex:61 #: lib/block_scout_web/templates/block/overview.html.eex:98 -#: lib/block_scout_web/templates/block/overview.html.eex:98 -#: lib/block_scout_web/templates/block/overview.html.eex:146 #: lib/block_scout_web/templates/block/overview.html.eex:146 msgid "Gas Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:19 -#: lib/block_scout_web/templates/layout/_footer.html.eex:19 msgid "Github" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:20 -#: lib/block_scout_web/views/block_view.ex:20 -#: lib/block_scout_web/views/wei_helpers.ex:71 #: lib/block_scout_web/views/wei_helpers.ex:71 msgid "Gwei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:38 -#: lib/block_scout_web/templates/block/overview.html.eex:38 msgid "Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 -#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:39 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:74 #: lib/block_scout_web/templates/transaction/_tile.html.eex:74 msgid "IN" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:51 -#: lib/block_scout_web/templates/layout/app.html.eex:51 msgid "Indexing Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:3 msgid "Input" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 -#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:6 msgid "Internal Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:14 -#: lib/block_scout_web/templates/address/_tabs.html.eex:14 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:19 -#: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:11 #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:6 -#: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/address_view.ex:308 #: lib/block_scout_web/views/transaction_view.ex:339 -#: lib/block_scout_web/views/transaction_view.ex:339 msgid "Internal Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:16 -#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17 #: lib/block_scout_web/views/tokens/overview_view.ex:38 -#: lib/block_scout_web/views/tokens/overview_view.ex:38 msgid "Inventory" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/app.html.eex:52 -#: lib/block_scout_web/templates/layout/app.html.eex:52 msgid "Less than" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:237 -#: lib/block_scout_web/templates/transaction/overview.html.eex:237 msgid "Limit" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:26 -#: 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/address_logs/index.html.eex:8 -#: lib/block_scout_web/templates/transaction/_tabs.html.eex:17 #: 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/templates/transaction_log/index.html.eex:8 -#: lib/block_scout_web/views/address_view.ex:314 #: lib/block_scout_web/views/address_view.ex:314 #: lib/block_scout_web/views/transaction_view.ex:340 -#: lib/block_scout_web/views/transaction_view.ex:340 msgid "Logs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:31 -#: lib/block_scout_web/templates/chain/show.html.eex:31 #: lib/block_scout_web/templates/layout/app.html.eex:53 -#: lib/block_scout_web/templates/layout/app.html.eex:53 -#: lib/block_scout_web/views/address_view.ex:121 #: lib/block_scout_web/views/address_view.ex:121 msgid "Market Cap" msgstr "" #, elixir-format #: lib/block_scout_web/views/transaction_view.ex:194 -#: lib/block_scout_web/views/transaction_view.ex:194 msgid "Max of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:38 -#: lib/block_scout_web/templates/block/_tile.html.eex:38 -#: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/block/overview.html.eex:121 #: lib/block_scout_web/templates/chain/_block.html.eex:15 -#: lib/block_scout_web/templates/chain/_block.html.eex:15 msgid "Miner" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:223 msgid "Model" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 msgid "Module" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:10 msgid "More internal transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:111 -#: lib/block_scout_web/templates/chain/show.html.eex:111 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:10 #: lib/block_scout_web/templates/transaction/index.html.eex:10 -#: lib/block_scout_web/templates/transaction/index.html.eex:10 msgid "More transactions have come in" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:63 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:74 msgid "Must be set to:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:52 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:16 #: lib/block_scout_web/templates/transaction_log/index.html.eex:64 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:64 msgid "Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:5 msgid "New Smart Contract" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:37 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:162 #: lib/block_scout_web/templates/transaction_log/index.html.eex:162 msgid "Newer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:39 -#: lib/block_scout_web/templates/address_token/index.html.eex:39 msgid "Next" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:32 msgid "Next Page" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:40 msgid "No" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/block/overview.html.eex:73 -#: lib/block_scout_web/templates/transaction/overview.html.eex:79 #: lib/block_scout_web/templates/transaction/overview.html.eex:79 msgid "Nonce" msgstr "" #, elixir-format #: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 -#: lib/block_scout_web/templates/internal_transaction/_tile.html.eex:37 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:70 #: lib/block_scout_web/templates/transaction/_tile.html.eex:70 msgid "OUT" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:34 -#: lib/block_scout_web/templates/address_contract/index.html.eex:34 msgid "Optimization enabled" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 -#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:18 msgid "Owner Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:19 msgid "POST" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:33 msgid "Parameters" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:45 -#: lib/block_scout_web/templates/block/overview.html.eex:45 msgid "Parent Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:44 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:44 -#: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:208 #: lib/block_scout_web/views/transaction_view.ex:242 -#: lib/block_scout_web/views/transaction_view.ex:242 msgid "Pending" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:4 msgid "Pending Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:84 -#: lib/block_scout_web/templates/block/overview.html.eex:84 msgid "Position %{index}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:24 -#: lib/block_scout_web/templates/chain/show.html.eex:24 -#: lib/block_scout_web/templates/layout/app.html.eex:54 #: lib/block_scout_web/templates/layout/app.html.eex:54 msgid "Price" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:33 -#: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/address/overview.html.eex:141 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:35 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:105 msgid "QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 -#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:22 msgid "Query" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:58 -#: 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/templates/tokens/overview/_tabs.html.eex:25 -#: lib/block_scout_web/views/address_view.ex:311 #: lib/block_scout_web/views/address_view.ex:311 #: lib/block_scout_web/views/tokens/overview_view.ex:37 -#: lib/block_scout_web/views/tokens/overview_view.ex:37 msgid "Read Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:155 msgid "Request URL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:133 msgid "Reset" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:173 msgid "Response Body" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:185 msgid "Responses" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:111 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:111 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:128 #: lib/block_scout_web/templates/layout/_topnav.html.eex:128 msgid "Search" msgstr "" @@ -908,1287 +699,1034 @@ msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 -#: lib/block_scout_web/templates/address_token_balance/_token_balances.html.eex:28 msgid "Search tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:163 msgid "Server Response" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:34 -#: lib/block_scout_web/templates/address/overview.html.eex:34 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36 msgid "Show QR Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 -#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8 -#: lib/block_scout_web/views/transaction_view.ex:210 #: lib/block_scout_web/views/transaction_view.ex:210 msgid "Success" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 -#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/_tile.html.eex:34 #: lib/block_scout_web/templates/transaction/overview.html.eex:84 -#: lib/block_scout_web/templates/transaction/overview.html.eex:84 msgid "TX Fee" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:25 -#: lib/block_scout_web/templates/layout/_footer.html.eex:25 msgid "Telegram" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 -#: lib/block_scout_web/templates/tokens/holder/index.html.eex:26 msgid "There are no holders for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:65 msgid "There are no internal transactions for this address." msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 -#: lib/block_scout_web/templates/transaction_internal_transaction/index.html.eex:22 msgid "There are no internal transactions for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:147 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:147 msgid "There are no logs for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:15 msgid "There are no token transfers for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 -#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:23 msgid "There are no token transfers for this transaction." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_token/index.html.eex:24 -#: lib/block_scout_web/templates/address_token/index.html.eex:24 msgid "There are no tokens for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 -#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:25 msgid "There are no tokens." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_transaction/index.html.eex:62 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:62 msgid "There are no transactions for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/index.html.eex:35 -#: lib/block_scout_web/templates/block_transaction/index.html.eex:35 msgid "There are no transactions for this block." msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 -#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:25 msgid "There are no transfers for this Token." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:35 -#: lib/block_scout_web/templates/transaction/overview.html.eex:35 msgid "This transaction is pending confirmation." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:33 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/templates/address_transaction/index.html.eex:29 #: lib/block_scout_web/views/address_internal_transaction_view.ex:6 -#: lib/block_scout_web/views/address_internal_transaction_view.ex:6 -#: lib/block_scout_web/views/address_transaction_view.ex:6 #: lib/block_scout_web/views/address_transaction_view.ex:6 msgid "To" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:6 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:6 msgid "Toggle navigation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10 msgid "Token Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 -#: lib/block_scout_web/templates/tokens/holder/index.html.eex:16 -#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9 #: lib/block_scout_web/views/tokens/overview_view.ex:36 -#: lib/block_scout_web/views/tokens/overview_view.ex:36 msgid "Token Holders" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 -#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:11 msgid "Token ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:5 -#: lib/block_scout_web/templates/transaction/overview.html.eex:179 #: lib/block_scout_web/templates/transaction/overview.html.eex:179 #: lib/block_scout_web/templates/transaction/overview.html.eex:193 -#: lib/block_scout_web/templates/transaction/overview.html.eex:193 -#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:4 #: lib/block_scout_web/views/transaction_view.ex:284 -#: lib/block_scout_web/views/transaction_view.ex:284 msgid "Token Transfer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 -#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:3 -#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:15 #: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 -#: lib/block_scout_web/templates/transaction/_tabs.html.eex:4 -#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7 #: lib/block_scout_web/views/tokens/overview_view.ex:35 -#: lib/block_scout_web/views/tokens/overview_view.ex:35 -#: lib/block_scout_web/views/transaction_view.ex:338 #: lib/block_scout_web/views/transaction_view.ex:338 msgid "Token Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:8 -#: lib/block_scout_web/templates/address/_tabs.html.eex:8 #: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token/index.html.eex:8 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:9 #: lib/block_scout_web/views/address_view.ex:306 -#: lib/block_scout_web/views/address_view.ex:306 msgid "Tokens" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:13 -#: lib/block_scout_web/templates/address/_metatags.html.eex:13 msgid "Top Accounts - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:33 -#: lib/block_scout_web/templates/address_logs/index.html.eex:33 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:103 #: lib/block_scout_web/templates/transaction_log/index.html.eex:103 msgid "Topics" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:67 -#: lib/block_scout_web/templates/block/overview.html.eex:67 msgid "Total Difficulty" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:74 msgid "Total Supply" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:56 -#: lib/block_scout_web/templates/chain/show.html.eex:56 msgid "Total transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_logs/index.html.eex:22 -#: lib/block_scout_web/templates/address_logs/index.html.eex:22 -#: lib/block_scout_web/views/transaction_view.ex:287 #: lib/block_scout_web/views/transaction_view.ex:287 msgid "Transaction" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 -#: lib/block_scout_web/templates/transaction/_metatags.html.eex:3 msgid "Transaction %{transaction} - %{subnetwork} Explorer" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 -#: lib/block_scout_web/templates/transaction/_metatags.html.eex:11 msgid "Transaction %{transaction}, %{subnetwork} %{transaction}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:11 -#: lib/block_scout_web/templates/transaction/overview.html.eex:11 msgid "Transaction Details" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:3 -#: lib/block_scout_web/templates/address/_tabs.html.eex:3 #: lib/block_scout_web/templates/address_transaction/index.html.eex:15 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:15 -#: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:10 #: lib/block_scout_web/templates/block_transaction/index.html.eex:17 -#: lib/block_scout_web/templates/block_transaction/index.html.eex:17 -#: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/chain/show.html.eex:108 #: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:35 -#: lib/block_scout_web/views/address_view.ex:307 #: lib/block_scout_web/views/address_view.ex:307 msgid "Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:19 -#: lib/block_scout_web/templates/address/_tile.html.eex:19 msgid "Transactions sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:60 msgid "Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:40 msgid "Try it out" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:22 -#: lib/block_scout_web/templates/layout/_footer.html.eex:22 msgid "Twitter" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:80 -#: lib/block_scout_web/templates/block/overview.html.eex:80 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:23 #: lib/block_scout_web/templates/layout/_topnav.html.eex:23 msgid "Uncles" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 -#: lib/block_scout_web/templates/tokens/inventory/_token.html.eex:6 msgid "Unique Token" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:231 -#: lib/block_scout_web/templates/transaction/overview.html.eex:231 msgid "Used" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:39 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:39 msgid "Validated" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:4 -#: lib/block_scout_web/templates/transaction/index.html.eex:4 msgid "Validated Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tile.html.eex:23 -#: lib/block_scout_web/templates/address/_tile.html.eex:23 msgid "Validations" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:209 -#: lib/block_scout_web/templates/transaction/overview.html.eex:209 msgid "Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:11 -#: lib/block_scout_web/templates/address_contract/index.html.eex:11 -#: lib/block_scout_web/templates/address_contract/index.html.eex:16 #: lib/block_scout_web/templates/address_contract/index.html.eex:16 msgid "Verify & Publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:132 msgid "Verify & publish" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:54 msgid "View Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:55 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:55 msgid "View Less Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tile.html.eex:54 -#: lib/block_scout_web/templates/transaction/_tile.html.eex:54 msgid "View More Transfers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_metatags.html.eex:9 -#: lib/block_scout_web/templates/address/_metatags.html.eex:9 msgid "View the account balance, transactions, and other data for %{address} on the %{network}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_metatags.html.eex:10 -#: lib/block_scout_web/templates/block/_metatags.html.eex:10 msgid "View the transactions, token transfers, and uncles for block number %{block_number}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 -#: lib/block_scout_web/templates/transaction/_metatags.html.eex:10 msgid "View transaction %{transaction} on %{subnetwork}" msgstr "" #, elixir-format #: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 -#: lib/block_scout_web/templates/smart_contract/_functions.html.eex:49 msgid "WEI" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:72 -#: lib/block_scout_web/templates/chain/show.html.eex:72 msgid "Wallet addresses" msgstr "" #, elixir-format #: lib/block_scout_web/views/wei_helpers.ex:70 -#: lib/block_scout_web/views/wei_helpers.ex:70 msgid "Wei" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:45 msgid "Yes" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:111 -#: lib/block_scout_web/templates/address/overview.html.eex:111 msgid "at" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:22 -#: lib/block_scout_web/views/address_contract_view.ex:22 msgid "false" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:58 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:69 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:81 msgid "required" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:59 -#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 #: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:70 msgid "string" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_contract_view.ex:21 -#: lib/block_scout_web/views/address_contract_view.ex:21 msgid "true" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:21 -#: lib/block_scout_web/views/internal_transaction_view.ex:21 msgid "Call" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:25 -#: lib/block_scout_web/views/internal_transaction_view.ex:25 msgid "Create" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:23 -#: lib/block_scout_web/views/internal_transaction_view.ex:23 msgid "Delegate Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/_tile.html.eex:47 -#: lib/block_scout_web/templates/block/_tile.html.eex:47 #: lib/block_scout_web/templates/chain/_block.html.eex:23 -#: lib/block_scout_web/templates/chain/_block.html.eex:23 -#: lib/block_scout_web/views/internal_transaction_view.ex:27 #: lib/block_scout_web/views/internal_transaction_view.ex:27 msgid "Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:26 -#: lib/block_scout_web/views/internal_transaction_view.ex:26 msgid "Self-Destruct" msgstr "" #, elixir-format #: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 -#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:62 msgid "Decimals" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 -#: lib/block_scout_web/templates/address_read_contract/index.html.eex:14 -#: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:99 #: lib/block_scout_web/templates/chain/show.html.eex:125 -#: lib/block_scout_web/templates/chain/show.html.eex:125 -#: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 #: lib/block_scout_web/templates/tokens/read_contract/index.html.eex:21 msgid "Loading..." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:130 msgid "Loading...." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:64 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:64 msgid "APIs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:68 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:68 msgid "GraphQL" msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:32 msgid "Loading" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:73 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:73 msgid "RPC" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:6 -#: lib/block_scout_web/templates/api_docs/index.html.eex:6 msgid "This API is provided for developers transitioning their applications from Etherscan to BlockScout. It supports GET and POST requests." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:109 -#: lib/block_scout_web/templates/transaction/overview.html.eex:109 msgid "Raw Input" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:15 -#: lib/block_scout_web/views/block_transaction_view.ex:15 msgid "Block not found, please try again later." msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:7 -#: lib/block_scout_web/views/block_transaction_view.ex:7 msgid "Easy Cowboy! This block does not exist yet!" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_transaction_view.ex:11 -#: lib/block_scout_web/views/block_transaction_view.ex:11 msgid "This block has not been processed yet." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:6 -#: lib/block_scout_web/templates/transaction/invalid.html.eex:6 msgid "Invalid Transaction Hash" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/invalid.html.eex:8 -#: lib/block_scout_web/templates/transaction/invalid.html.eex:8 msgid "is not a valid transaction hash" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:22 -#: lib/block_scout_web/views/internal_transaction_view.ex:22 msgid "Call Code" msgstr "" #, elixir-format #: lib/block_scout_web/views/internal_transaction_view.ex:24 -#: lib/block_scout_web/views/internal_transaction_view.ex:24 msgid "Static Call" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:33 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:33 msgid "Decoded" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:66 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:66 msgid "Indexed?" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:17 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:65 #: lib/block_scout_web/templates/transaction_log/index.html.eex:65 msgid "Type" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:3 msgid "Method Id" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:38 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:38 msgid "To see decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:1 msgid "Transaction Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:13 msgid "Transaction Inputs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "Verify the contract " msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:11 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:41 #: lib/block_scout_web/templates/transaction_log/index.html.eex:41 msgid "here" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:32 msgid "Failed to decode input data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:46 msgid "Error rendering value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 -#: lib/block_scout_web/templates/transaction/_decoded_input_body.html.eex:28 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:77 #: lib/block_scout_web/templates/transaction_log/index.html.eex:77 msgid "Copy Value" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:48 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:48 msgid "Failed to decode log data." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction_log/index.html.eex:61 -#: lib/block_scout_web/templates/transaction_log/index.html.eex:61 msgid "Log Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:34 -#: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_internal_transaction/index.html.eex:61 #: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 -#: lib/block_scout_web/templates/address_token_transfer/index.html.eex:20 -#: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_transaction/index.html.eex:57 #: lib/block_scout_web/templates/address_validation/index.html.eex:22 -#: lib/block_scout_web/templates/address_validation/index.html.eex:22 -#: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/chain/show.html.eex:91 #: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:19 -#: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/holder/index.html.eex:21 #: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 -#: lib/block_scout_web/templates/tokens/transfer/index.html.eex:20 -#: lib/block_scout_web/templates/transaction/index.html.eex:20 #: lib/block_scout_web/templates/transaction/index.html.eex:20 msgid "Something went wrong, click to reload." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_validation/index.html.eex:18 -#: lib/block_scout_web/templates/address_validation/index.html.eex:18 msgid "There are no blocks validated by this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/index.html.eex:26 -#: lib/block_scout_web/templates/transaction/index.html.eex:26 msgid "There are no transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:14 msgid "Balances" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 -#: lib/block_scout_web/templates/address_coin_balance/_coin_balances.html.eex:8 msgid "Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/templates/address/_tabs.html.eex:20 -#: lib/block_scout_web/views/address_view.ex:312 #: lib/block_scout_web/views/address_view.ex:312 msgid "Coin Balance History" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:22 -#: lib/block_scout_web/templates/chain/show.html.eex:13 #: lib/block_scout_web/templates/chain/show.html.eex:13 msgid "Loading chart" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:39 msgid "There is no coin history for this address." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 -#: lib/block_scout_web/templates/address_coin_balance/index.html.eex:25 -#: lib/block_scout_web/templates/chain/show.html.eex:16 #: lib/block_scout_web/templates/chain/show.html.eex:16 msgid "There was a problem loading the chart." msgstr "" #, elixir-format #: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 -#: lib/block_scout_web/templates/pending_transaction/index.html.eex:23 msgid "There are no pending transactions." msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/index.html.eex:16 -#: lib/block_scout_web/templates/block/index.html.eex:16 msgid "There are no blocks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:24 msgid "License Expires" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:10 msgid "License ID" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:48 -#: lib/block_scout_web/templates/address/overview.html.eex:48 msgid "Show Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:30 msgid "Validator Creation Date" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 -#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:5 msgid "Validator Data" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:52 -#: lib/block_scout_web/templates/address/overview.html.eex:52 msgid "Validator Info" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:139 -#: lib/block_scout_web/templates/block/overview.html.eex:139 msgid "Block Rewards" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:60 -#: lib/block_scout_web/views/block_view.ex:60 msgid "Emission Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:56 -#: lib/block_scout_web/views/block_view.ex:56 msgid "Miner Reward" msgstr "" #, elixir-format #: lib/block_scout_web/views/block_view.ex:64 -#: lib/block_scout_web/views/block_view.ex:64 msgid "Uncle Reward" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:18 msgid "IMPORTANT: This information is a best guess based on similar functions from other verified contracts." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:17 msgid "Potential matches from our contract method database:" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:19 msgid "To have guaranteed accuracy, use the link above to verify the contract's source code." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 -#: lib/block_scout_web/templates/transaction/_decoded_input.html.eex:8 msgid "To see accurate decoded input data, the contract must be verified." msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 -#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:5 msgid "Emission Contract" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:117 -#: lib/block_scout_web/templates/chain/show.html.eex:117 msgid "Something went wrong, click to retry." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:17 -#: lib/block_scout_web/templates/layout/_footer.html.eex:17 msgid "Blockscout is a tool for inspecting and analyzing EVM based blockchains. Blockchain explorer for Ethereum Networks." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:36 -#: lib/block_scout_web/templates/layout/_footer.html.eex:36 msgid "Chat" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:35 -#: lib/block_scout_web/templates/layout/_footer.html.eex:35 msgid "Contribute" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:44 -#: lib/block_scout_web/templates/layout/_footer.html.eex:44 msgid "Main Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:68 -#: lib/block_scout_web/templates/layout/_footer.html.eex:68 msgid "Other Explorers" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:34 -#: lib/block_scout_web/templates/layout/_footer.html.eex:34 msgid "Submit an Issue" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:57 -#: lib/block_scout_web/templates/layout/_footer.html.eex:57 msgid "Test Networks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:83 -#: lib/block_scout_web/templates/layout/_footer.html.eex:83 msgid "Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_footer.html.eex:37 -#: lib/block_scout_web/templates/layout/_footer.html.eex:37 msgid "Support" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract/index.html.eex:55 -#: 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:71 -#: 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:43 -#: lib/block_scout_web/templates/address_contract/index.html.eex:43 msgid "Copy Source Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block/overview.html.eex:13 -#: lib/block_scout_web/templates/block/overview.html.eex:13 msgid "Genesis Block" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:76 msgid "1 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:71 msgid "1 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:86 msgid "2 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:81 msgid "2 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:96 msgid "3 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:91 msgid "3 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:106 msgid "4 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:101 msgid "4 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:116 msgid "5 Library Address" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:111 msgid "5 Library Name" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:68 msgid "Contract Libraries" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:88 -#: lib/block_scout_web/templates/address/overview.html.eex:88 msgid "Last Balance Update: Block #" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:84 -#: lib/block_scout_web/templates/address/overview.html.eex:84 msgid "Transactions Sent" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:101 -#: lib/block_scout_web/templates/transaction/overview.html.eex:101 msgid "Transaction Speed" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:115 -#: lib/block_scout_web/templates/transaction/overview.html.eex:115 -#: lib/block_scout_web/templates/transaction/overview.html.eex:119 #: lib/block_scout_web/templates/transaction/overview.html.eex:119 msgid "Hex (Default)" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:122 -#: lib/block_scout_web/templates/transaction/overview.html.eex:122 msgid "UTF-8" msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 -#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:16 msgid "For any existing contracts in the database, insert all ABI entries into the contract_methods table. Use this in case you have verified smart contracts before early March 2019 and you want other contracts with the same functions to show those ABI's as candidate matches." msgstr "" #, elixir-format #: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 -#: lib/block_scout_web/templates/admin/dashboard/index.html.eex:21 msgid "Run" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:75 -#: lib/block_scout_web/templates/address/overview.html.eex:75 msgid ">=" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:79 -#: lib/block_scout_web/templates/address/overview.html.eex:79 msgid "Incoming Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/overview.html.eex:119 -#: lib/block_scout_web/templates/address/overview.html.eex:119 msgid "Error: Could not determine contract creator." msgstr "" #, elixir-format #: lib/block_scout_web/templates/layout/_topnav.html.eex:105 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:105 -#: lib/block_scout_web/templates/layout/_topnav.html.eex:109 #: lib/block_scout_web/templates/layout/_topnav.html.eex:109 msgid "Search by address, token symbol name, transaction hash, or block number" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:31 msgid "EVM Version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:63 msgid "Enter constructor arguments if the contract had any" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 -#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:16 msgid "Copy Decompiled Contract Code" msgstr "" #, elixir-format #: lib/block_scout_web/views/address_view.ex:310 -#: lib/block_scout_web/views/address_view.ex:310 msgid "Decompiled Code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address/_tabs.html.eex:52 -#: lib/block_scout_web/templates/address/_tabs.html.eex:52 msgid "Decompiled code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 -#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:14 msgid "Decompiled contract code" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 -#: lib/block_scout_web/templates/address_decompiled_contract/index.html.eex:7 msgid "Decompiler version" msgstr "" #, elixir-format #: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 -#: lib/block_scout_web/templates/address_contract_verification/new.html.eex:52 msgid "Optimization runs" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:179 -#: lib/block_scout_web/templates/transaction/overview.html.eex:179 msgid "ERC-20" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:193 -#: lib/block_scout_web/templates/transaction/overview.html.eex:193 msgid "ERC-721" msgstr "" #, elixir-format #: lib/block_scout_web/templates/api_docs/index.html.eex:4 -#: lib/block_scout_web/templates/api_docs/index.html.eex:4 msgid "API Documentation" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:86 -#: lib/block_scout_web/templates/chain/show.html.eex:86 msgid "View All Blocks" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:107 -#: lib/block_scout_web/templates/chain/show.html.eex:107 msgid "View All Transactions" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/overview.html.eex:227 -#: lib/block_scout_web/templates/transaction/overview.html.eex:227 msgid "Gas" msgstr "" #, elixir-format #: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 -#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24 -#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7 #: lib/block_scout_web/views/transaction_view.ex:341 -#: lib/block_scout_web/views/transaction_view.ex:341 msgid "Raw Trace" msgstr "" #, elixir-format #: lib/block_scout_web/templates/chain/show.html.eex:64 -#: lib/block_scout_web/templates/chain/show.html.eex:64 msgid "Total blocks" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 -#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "Page" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 -#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:11 msgid "Records" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 -#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:5 msgid "Show" msgstr "" #, elixir-format #: #: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 -#: lib/block_scout_web/templates/common_components/_pagination_container.html.eex:40 msgid "of" msgstr "" #, elixir-format #: lib/block_scout_web/templates/block_transaction/404.html.eex:7 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 -#: 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 ""