Merge pull request #3411 from poanetwork/vb-circles-customization

Circles UBI theme
pull/3414/head
Victor Baranov 4 years ago committed by GitHub
commit de5e05c888
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      .dialyzer-ignore
  2. 1
      CHANGELOG.md
  3. 1
      apps/block_scout_web/assets/css/app.scss
  4. 697
      apps/block_scout_web/assets/css/theme/custom_contracts/_circles-theme.scss
  5. 19
      apps/block_scout_web/assets/static/images/custom-themes/circles/balance.svg
  6. 1
      apps/block_scout_web/assets/static/images/custom-themes/circles/copy.svg
  7. 1
      apps/block_scout_web/assets/static/images/custom-themes/circles/footer_logo.svg
  8. 1
      apps/block_scout_web/assets/static/images/custom-themes/circles/logo.svg
  9. 1
      apps/block_scout_web/assets/static/images/custom-themes/circles/qr.svg
  10. 3
      apps/block_scout_web/config/config.exs
  11. 2
      apps/block_scout_web/lib/block_scout_web/templates/address/_tabs.html.eex
  12. 12
      apps/block_scout_web/lib/block_scout_web/templates/address/overview.html.eex
  13. 91
      apps/block_scout_web/lib/block_scout_web/templates/layout/app.html.eex
  14. 2
      apps/block_scout_web/lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex
  15. 18
      apps/block_scout_web/lib/block_scout_web/templates/tokens/overview/_details.html.eex
  16. 16
      apps/block_scout_web/lib/block_scout_web/templates/transaction/overview.html.eex
  17. 16
      apps/block_scout_web/lib/block_scout_web/views/custom_contracts_helpers.ex
  18. 3
      apps/block_scout_web/lib/block_scout_web/views/layout_view.ex
  19. 5
      apps/block_scout_web/lib/block_scout_web/views/tokens/overview_view.ex
  20. 3
      apps/block_scout_web/lib/block_scout_web/views/transaction_view.ex
  21. 158
      apps/block_scout_web/priv/gettext/default.pot
  22. 158
      apps/block_scout_web/priv/gettext/en/LC_MESSAGES/default.po

@ -5,20 +5,17 @@
:0: Unknown type 'Elixir.Address':t/0
apps/ethereum_jsonrpc/lib/ethereum_jsonrpc.ex:400: Function timestamp_to_datetime/1 has no local return
lib/explorer/repo/prometheus_logger.ex:8
lib/block_scout_web/views/layout_view.ex:175
lib/explorer/smart_contract/publisher_worker.ex:6
lib/explorer/smart_contract/verifier.ex:83
apps/explorer/lib/explorer/repo/prometheus_logger.ex:8: Function microseconds_time/1 has no local return
apps/explorer/lib/explorer/repo/prometheus_logger.ex:8: The call 'Elixir.System':convert_time_unit(__@1::any(),'native','microseconds') breaks the contract (integer(),time_unit() | 'native',time_unit() | 'native') -> integer()
lib/block_scout_web/views/layout_view.ex:172: The call 'Elixir.Poison.Parser':'parse!'(any(),#{'keys':='atoms!'}) will never return since the success typing is (binary() | maybe_improper_list(binary() | maybe_improper_list(any(),binary() | []) | byte(),binary() | []),[{atom(),_}]) -> 'false' | 'nil' | 'true' | binary() | ['false' | 'nil' | 'true' | binary() | [any()] | number() | map()] | number() | map() and the contract is (iodata(),'Elixir.Keyword':t()) -> t()
apps/explorer/lib/explorer/smart_contract/publisher_worker.ex:6: The pattern 'false' can never match the type 'true'
apps/explorer/lib/explorer/smart_contract/publisher_worker.ex:6: The test 5 == 'infinity' can never evaluate to 'true'
lib/block_scout_web/router.ex:1
lib/block_scout_web/schema/types.ex:31
lib/phoenix/router.ex:324
lib/phoenix/router.ex:402
lib/block_scout_web/views/layout_view.ex:142: The call 'Elixir.Poison.Parser':'parse!'
lib/block_scout_web/views/layout_view.ex:228: The call 'Elixir.Poison.Parser':'parse!'
lib/block_scout_web/views/layout_view.ex:145: The call 'Elixir.Poison.Parser':'parse!'
lib/block_scout_web/views/layout_view.ex:231: The call 'Elixir.Poison.Parser':'parse!'
lib/block_scout_web/controllers/api/rpc/transaction_controller.ex:21
lib/block_scout_web/controllers/api/rpc/transaction_controller.ex:22
lib/explorer/smart_contract/reader.ex:330

@ -1,6 +1,7 @@
## Current
### Features
- [#3411](https://github.com/poanetwork/blockscout/pull/3411) - Circles UBI theme
- [#3406](https://github.com/poanetwork/blockscout/pull/3406), [#3409](https://github.com/poanetwork/blockscout/pull/3409) - Adding mp4 files support for NFTs
- [#3398](https://github.com/poanetwork/blockscout/pull/3398) - Collect and display gas usage per day at the main page
- [#3385](https://github.com/poanetwork/blockscout/pull/3385), [#3397](https://github.com/poanetwork/blockscout/pull/3397) - Total gas usage at the main page

@ -122,6 +122,7 @@ $fa-font-path: "~@fortawesome/fontawesome-free/webfonts";
@import "theme/dark-theme";
@import "theme/custom_contracts/dark-forest-theme";
@import "theme/custom_contracts/circles-theme";
:export {
dashboardBannerChartAxisFontColor: $dashboard-banner-chart-axis-font-color;

@ -0,0 +1,697 @@
$c-primary: #7D2244;
$c-secondary: #62004A;
$c-tertiary: #FF8F4B;
$c-quarternary: #D79FC9;
$border: #E3E5EB;
$text: #333;
$text2: #A4A9B4;
$c-dark-color: #313355;
$c-dark-color-secondary: #3f426c;
$c-dark-text-color: #8a8dba;
.circles-theme-applied {
.navbar.navbar-primary {
.navbar-nav {
.nav-link {
&:before {
background-color: $c-secondary;
}
&.active,
&:hover,
&.active-icon {
color: $header-links-color-active;
.nav-link-icon {
path {
fill: $c-secondary;
}
}
}
}
}
}
// footer
.footer {
background: $c-secondary;
color: $c-quarternary;
background-image: url(/images/custom-themes/circles/footer_logo.svg) !important;
background-position: bottom 0px right 30px;
background-repeat: no-repeat;
}
.footer-social-icon {
color: $c-tertiary !important
}
.footer-link {
color: $c-quarternary;
}
.footer-social-icon:hover,
.footer-link:hover {
color: #fff;
}
.footer-list ul li::before {
background-color: $c-tertiary;
}
// main container, layout, cards
.card-title {
@media screen and (max-width: 768px) {
margin-top: 20px;
}
}
.card-header {
border-bottom-color: darken($text2, 30);
}
.card-tabs {
border-bottom-color: #fff;
}
.card-tab {
color: $text;
background-color: transparent;
&:hover:not(.active) {
background-color: rgba($c-primary, .15);
color: $c-primary;
}
&.active {
background-color: $c-primary;
color: #fff !important;
}
}
.check_dark_forest_icon {
margin-left: 10px;
}
.card-tab .check_dark_forest_icon {
svg path {
fill: $c-primary;
}
}
.card-tab.active .check_dark_forest_icon {
svg path {
fill: $c-secondary;
}
}
.card-background-1 {
background-color: $c-tertiary;
background-image: url(/images/custom-themes/circles/balance.svg);
background-repeat: no-repeat;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
// Components
a {
color: $c-primary;
}
a.tile-title { color: $c-primary !important; }
.tile {
border-top-color: $border;
border-bottom-color: $border;
border-right-color: $border;
color: $text2;
&:not([class^="tile tile-type"]) {
border-left-color: $border;
}
&.tile-type-coin-balance {
border-left-color: $border;
}
.tile-transaction-type-block {
background-color: transparent;
}
}
.tile-bottom-contents {
background-color: $c-primary;
}
.fade-up-blocks-chain .tile-type-block-animation {
background-color: $c-primary;
border-top-color: $c-primary;
border-right-color: $c-primary;
border-bottom-color: $c-primary;
}
.fade-up-blocks-chain .tile-type-block-animation:after {
background-color: $c-primary;
}
.cube-animation-title {
color: $text2;
}
.tile .tile-body a,
.tile span[data-address-hash] { color: $c-primary; }
.fade-up-blocks-chain .tile-type-block-animation .tile-type-line-up {
background-color: $c-primary;
}
.tile.tile-type-block {
border-left-color: $c-primary
}
.tile.tile-type-block .tile-status-label {
color: $c-primary;
}
.tile.tile-type-block .tile-transaction-type-block {
border-right-color: $c-primary;
border-top-color: $c-primary;
border-bottom-color: $c-primary;
}
.tile .progress {
background-color: rgba(#fff, .2);
}
.tile .progress .progress-bar {
background-color: $c-primary;
}
// btns
.btn-line {
background-color: transparent;
border-color: $c-primary;
color: $c-primary;
&:hover {
border-color: $c-primary;
background-color: $c-primary;
color: #fff;
}
}
.btn-copy-icon {
content: url(/images/custom-themes/circles/copy.svg);
}
.btn-qr-icon {
content: url(/images/custom-themes/circles/qr.svg);
}
.btn-copy-icon, .btn-qr-icon, .btn-address-card-icon .btn-contract-icon {
border: none;
border-color: $c-primary;
&:hover {
background-color: rgba(125, 34, 68, 0.4);
}
}
// pagination
.pagination-container .pagination .page-link {
padding: 15px;
background-color: #fff;
&:not(.no-hover):hover {
color: #fff;
border: 1px solid #fff;
background-color: $c-primary;
path {
fill: #fff;
}
}
&[disabled] {
color: $text2;
border-color: $border;
background-color: #fff;
}
.no-hover {
background-color: #fff;
border-color: $border;
color: $text2 !important;
}
}
// dropdown
.dropdown-item.active {
background-color: $c-secondary;
}
.btn-dropdown-line {
border-color: $border;
border-radius: 2px;
height: 32px;
}
// download csv button
.download-all-transactions .download-all-transactions-link svg path {
fill: $c-primary;
}
//tooltips
.tooltip .arrow:before {
border-top-color: $c-primary;
border-bottom-color: $c-primary;
}
.tooltip > .tooltip-inner {
background-color: $c-primary;
}
//network select
.network-selector-overlay {
background-color: rgba($c-primary, .9);
}
.network-selector {
background-color: $c-primary;
}
.network-selector-text {
color: $text2;
}
.network-selector-close path {
fill: #fff;
}
.network-selector-search-container {
background-color: $c-primary;
}
.network-selector-search-container path {
fill: $text2;
}
.network-selector-search-input {
color: #fff !important;
&::placeholder {
color: $text2;
}
}
.network-selector-tab {
color: $text2;
&:hover, &.active {
color: #fff;
}
&.active {
&:after {
background-color: $c-primary;
}
}
}
.network-selector-item,
.network-selector-tabs-container {
border-bottom-color: darken($text2, 30);
}
.network-selector-item-title {
color: #fff;
}
.network-selector-item-type {
color: $text2;
}
.radio .radio-icon {
border-color: $text2;
}
.network-selector-item-url:hover .network-selector-item-type {
color: #fff;
}
//coin dropdown
.token-balance-dropdown[aria-labelledby="dropdown-tokens"] .dropdown-items .dropdown-item:hover {
color: #fff !important;
}
// logs search
.logs-search-input, .logs-search-btn, .logs-search-btn-cancel {
background-color: #fff;
border-color: $border;
height: 32px;
}
.logs-search-btn {
border: none;
background-color: $c-primary;
color: #fff;
&:hover {
background-color: $c-primary;
color: #fff;
}
}
.logs-search-input {
&::placeholder {
color: $text2;
}
}
// info allert
.alert-info {
color: #fff;
background-color: $c-primary;
border-color: $border;
}
// Content loading placeholders
.tile-loader, .table-content-loader {
background-color: rgba(125, 34, 68, 0.4) !important;
&:before {
background: linear-gradient(to right, rgba(125, 34, 68, 0.2) 2%, lighten(rgba(125, 34, 68, 0.4), 3) 18%, rgba(125, 34, 68, 0.6) 33%);
}
}
// Common Buttons
.btn-secondary, .button-secondary {
background-color: transparent;
border-color: $c-primary;
color: $c-primary;
&:hover {
background-color: $c-primary;
border-color: $c-primary;
color: #fff;
}
}
.btn-no-border:hover {
background-color: $c-primary;
}
.overview-title-buttons {
margin-top: -76px;
@media (min-width: 768px) {
margin-top: -66px;
}
}
.overview-title-buttons.token {
@media (max-width: 768px) {
margin-top: 0px;
}
}
.awesomplete {
& > ul {
background: $c-primary;
&:before {
background: $c-primary;
}
li {
&:hover {
background-color: $c-primary;
color: #fff;
mark {
background: darken($c-primary, 10);
color: #fff;
}
}
}
}
mark {
background: $c-primary;
color: #fff;
}
}
#qrModal {
.modal-content {
.btn-primary {
background-color: $c-primary;
border-color: $c-primary;
&:focus,
&:hover {
background-color: $c-primary;
border-color: $c-primary;
}
}
}
}
// alerts
.alert-link {
color: $text2;
}
.alert-danger {
background-color: $c-primary;
border-color: $c-primary;
.alert-link {
color: #fff;
}
}
.tile .alert {
background: rgba(#000, .1);
}
// primary buttons
.btn-full-primary, .button-primary {
background: $c-primary;
border-color: $c-primary;
color: #fff;
&:hover {
background: darken($c-primary, 6);
border-color: darken($c-primary, 6);
color: #fff;
}
}
.logo-text {
color: #fff;
}
.dropdown-item {
.external-link-icon {
path {
fill: #fff;
}
}
& {
&.active,
&:hover,
&:focus {
.external-link-icon {
path {
fill: #fff;
}
}
}
}
}
.tooltip-inversed-color {
.tooltip-inner {
background-color: $btn-line-color !important;
color: #fff !important;
}
}
.tooltip-inversed-color.bs-tooltip-top .arrow::before,
.tooltip-inversed-color.bs-tooltip-auto[x-placement^="top"] .arrow::before {
border-top-color: $btn-line-color !important;
}
.tooltip-inversed-color.bs-tooltip-right .arrow::before,
.tooltip-inversed-color.bs-tooltip-auto[x-placement^="right"] .arrow::before {
border-right-color: $btn-line-color !important;
}
.tooltip-inversed-color.bs-tooltip-bottom .arrow::before,
.tooltip-inversed-color.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
border-bottom-color: $btn-line-color !important;
}
.tooltip-inversed-color.bs-tooltip-left .arrow::before,
.tooltip-inversed-color.bs-tooltip-auto[x-placement^="left"] .arrow::before {
border-left-color: $btn-line-color !important;
}
.active-dot-icon {
circle {
fill: $c-primary;
}
}
.tile.tile-type-coin-balance [data-balance-change-sign="Negative"] {
color: #e87293;
}
.tile.tile-type-coin-balance [data-balance-change-sign="Positive"] {
color: $c-primary;
}
::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px $c-primary;
}
::-webkit-scrollbar-thumb {
background: $c-primary;
}
.custom-balance-icon {
background-image: url(/images/custom-themes/circles/balance.svg);
margin-right: 0px;
margin-left: auto;
max-width: 100%;
}
.custom-dapp-header-container {
display: flex;
margin-bottom: 30px;
@media screen and (max-width: 768px) {
display: inline;
}
}
.custom-dapp-header-description-container {
display: contents;
}
.custom-address-icon {
content: url(/images/custom-themes/circles/logo.svg);
@media screen and (max-width: 768px) {
margin-bottom: 20px;
}
}
.custom-address-details{
margin-top: 8px;
@media (min-width: 576px) {
margin-left: 0;
}
@media (min-width: 768px) {
margin-left: 20px;
}
@media (min-width: 992px) {
margin-left: 20px;
}
@media (min-width: 1200px) {
margin-left: 20px;
}
color: $text2;
}
.application-icon-link {
margin-left: auto;
}
.application-icon {
content: url(/images/custom-themes/circles/logo.svg);
&:hover {
background-color: rgba(125, 34, 68, 0.4);
}
@media screen and (max-width: 768px) {
float: right;
}
}
.csv-icon {
visibility: hidden;
}
.card-body {
a:not(.dropdown-item):not(.button):not([data-test=address_hash_link]):not(.alert-link):not([data-test=token_link]):not(#dropdown-tokens):not(.btn-line):not(.page-link) {
color: $c-primary;
&:hover {
color: $c-primary;
}
}
}
.form-control:focus {
border-color: $c-primary;
}
}
.circles-theme-applied .dropdown-item {
background-color: #fff !important;
color: $c-secondary !important;
}
.circles-theme-applied .dropdown-item.active:not(.header), .circles-theme-applied .dropdown-item:not(.header):hover, .circles-theme-applied .dropdown-item:not(.header):focus {
background-image: none;
width: 100%;
background-color: $c-secondary !important;
color: #fff !important;
}
.circles-theme-applied .dropdown-item.active.header, .circles-theme-applied .dropdown-item.header:hover, .circles-theme-applied .dropdown-item.header:focus {
background-color: $c-secondary !important;
color: #fff !important;
}
.circles-theme-applied.modal-open .modal {
background-color: rgba(125, 34, 68, 0.4) !important;
}
.circles-theme-applied.dark-theme-applied {
.card-tab {
color: #fff;
}
.card-tabs {
border-bottom-color: #3f426c;
}
.pagination-container .pagination .page-link {
color: $c-dark-text-color !important;
background-color: $c-dark-color;
&[disabled] {
border-color: $c-dark-color;
}
.no-hover {
border-color: $border;
}
}
.tile {
border-top-color: $c-dark-color;
border-bottom-color: $c-dark-color;
border-right-color: $c-dark-color;
&:not([class^="tile tile-type"]) {
border-left-color: $c-dark-color;
}
&.tile-type-coin-balance {
border-left-color: $c-dark-color;
}
}
.alert-info {
color: $c-dark-text-color;
border-color: $c-dark-color;
}
.btn-dropdown-line {
border-color: $c-dark-color;
}
.dropdown-item {
background-color: $c-dark-color !important;
color: #fff !important;
}
.dropdown-item.active:not(.header), .dropdown-item:not(.header):hover, .dropdown-item:not(.header):focus {
background-image: none;
width: 100%;
background-color: $c-dark-color-secondary !important;
color: #fff !important;
}
.dropdown-item.active.header, .dropdown-item.header:hover, .dropdown-item.header:focus {
background-color: $c-dark-color-secondary !important;
color: #fff !important;
}
.navbar.navbar-primary {
.navbar-nav {
.nav-link {
&.active,
&:hover,
&.active-icon {
color: $c-dark-text-color;
}
}
}
}
.logs-search-input, .logs-search-btn, .logs-search-btn-cancel {
background-color: $c-dark-color;
border-color: $c-dark-color;
}
}

@ -0,0 +1,19 @@
<svg width="405" height="253" viewBox="0 0 405 253" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4.57764e-05" width="405" height="253" fill="url(#paint0_linear)"/>
<path d="M10 0C4.4772 0 4.26769e-05 5.6636 4.26769e-05 12.65V240.35C4.26769e-05 247.336 1.52588e-05 253 1.52588e-05 253H32.6085C46.3927 239.133 61.8096 213.867 77.5 168.878C109.843 76.1396 140.5 63.25 200 63.25C258.887 63.25 281.533 20.5015 281.993 0H10Z" fill="url(#paint1_linear)"/>
<path d="M10 0C4.4772 0 4.55379e-05 5.6636 4.55379e-05 12.65V240.35C4.55379e-05 247.336 3.05176e-05 253 3.05176e-05 253H109.529C119.764 241.058 128.648 226.304 135 208.092C167.343 115.355 231 108.79 290.5 108.79C347.682 108.79 397.099 25.5423 400.335 1.94844C398.791 0.714287 396.961 0 395 0H10Z" fill="url(#paint2_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="4.57764e-05" y1="0" x2="428.826" y2="202.559" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF675E"/>
<stop offset="1" stop-color="#FFA44F"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="1.47133e-05" y1="-1.265" x2="241.997" y2="153.82" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.1"/>
<stop offset="1" stop-color="white" stop-opacity="0.3"/>
</linearGradient>
<linearGradient id="paint2_linear" x1="2.04059e-05" y1="-1.26491" x2="241.997" y2="153.82" gradientUnits="userSpaceOnUse">
<stop offset="0.598958" stop-color="white" stop-opacity="0.05"/>
<stop offset="1" stop-color="white" stop-opacity="0.2"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1 @@
<svg fill="none" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><rect height="29" rx="3.5" stroke="#7d2244" width="29" x=".5" y=".5"/><g fill="#7d2244"><path d="m11 7h11v12h-2v-10h-9z"/><path clip-rule="evenodd" d="m18 11h-11v12h11zm-9 10h7v-8h-7z" fill-rule="evenodd"/></g></svg>

After

Width:  |  Height:  |  Size: 311 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1 @@
<svg fill="none" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><rect height="29" rx="3.5" stroke="#7d2244" width="29" x=".5" y=".5"/><g fill="#7d2244"><path d="m7 7h7v2h-7z"/><path d="m9 7v7h-2v-7z"/><path d="m9 16v7h-2v-7z"/><path d="m14 7v7h-2v-7z"/><path d="m14 16v7h-2v-7z"/><path d="m18 7v7h-2v-7z"/><path d="m23 7v7h-2v-7z"/><path d="m16 7h7v2h-7z"/><path d="m16 12h7v2h-7z"/><path d="m7 12h7v2h-7z"/><path d="m7 16h7v2h-7z"/><path d="m7 21h7v2h-7z"/><path d="m16 16h2v2h-2z"/><path d="m18 18h2v2h-2z"/><path d="m19 19h2v2h-2z"/><path d="m21 16h2v2h-2z"/><path d="m21 21h2v2h-2z"/><path d="m16 21h2v2h-2z"/></g></svg>

After

Width:  |  Height:  |  Size: 655 B

@ -45,7 +45,8 @@ config :block_scout_web,
gas_price: System.get_env("GAS_PRICE", nil),
restricted_list: System.get_env("RESTRICTED_LIST", nil),
restricted_list_key: System.get_env("RESTRICTED_LIST_KEY", nil),
dark_forest_addresses: System.get_env("CUSTOM_CONTRACT_ADDRESSES_DARK_FOREST")
dark_forest_addresses: System.get_env("CUSTOM_CONTRACT_ADDRESSES_DARK_FOREST"),
circles_addresses: System.get_env("CUSTOM_CONTRACT_ADDRESSES_CIRCLES")
config :block_scout_web, BlockScoutWeb.Counters.BlocksIndexedCounter, enabled: true

@ -1,4 +1,4 @@
<% dark_forest_addresses_list = CustomContractsHelpers.get_dark_forest_addresses_list() %>
<% dark_forest_addresses_list = CustomContractsHelpers.get_custom_addresses_list(:dark_forest_addresses) %>
<% current_address = "0x" <> Base.encode16(@address.hash.bytes, case: :lower) %>
<div class="card-tabs js-card-tabs">
<%= link(

@ -1,6 +1,8 @@
<section class="address-overview" data-page="address-details" data-page-address-hash="<%= @address.hash %>" data-async-counters="<%= @counters_path %>">
<% dark_forest_addresses_list = CustomContractsHelpers.get_dark_forest_addresses_list() %>
<% dark_forest_addresses_list = CustomContractsHelpers.get_custom_addresses_list(:dark_forest_addresses) %>
<% circles_addresses_list = CustomContractsHelpers.get_custom_addresses_list(:circles_addresses) %>
<% current_address = "0x" <> Base.encode16(@address.hash.bytes, case: :lower) %>
<% created_from_address_hash = if from_address_hash(@address), do: "0x" <> Base.encode16(from_address_hash(@address).bytes, case: :lower), else: nil %>
<div class="row">
<!-- Address details -->
<div class="card-section col-md-12 col-lg-8 pr-0-md">
@ -27,6 +29,14 @@
</a>
</div>
</div>
<% Enum.member?(circles_addresses_list, current_address) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% Enum.member?(circles_addresses_list, created_from_address_hash) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% true -> %>
<%= nil %>
<% end %>

@ -37,7 +37,8 @@
</head>
<body>
<% raw_dark_forest_addresses = CustomContractsHelpers.get_raw_dark_forest_addresses_list() %>
<% raw_dark_forest_addresses = CustomContractsHelpers.get_raw_custom_addresses_list(:dark_forest_addresses) %>
<% raw_circles_addresses = CustomContractsHelpers.get_raw_custom_addresses_list(:circles_addresses) %>
<%= cond do %>
<% (
@view_module == Elixir.BlockScoutWeb.TransactionInternalTransactionView ||
@ -46,16 +47,25 @@
@view_module == Elixir.BlockScoutWeb.TransactionTokenTransferView
) -> %>
<% to_address = @transaction && @transaction.to_address && "0x" <> Base.encode16(@transaction.to_address.hash.bytes, case: :lower) %>
<% {:ok, created_from_address} = if @transaction.to_address_hash, do: Chain.hash_to_address(@transaction.to_address_hash), else: {:ok, nil} %>
<% created_from_address_hash_str = if from_address_hash(created_from_address), do: "0x" <> Base.encode16(from_address_hash(created_from_address).bytes, case: :lower), else: nil %>
<script>
function applyCustomMode() {
const darkForestContractAddressHashesRaw = "<%= raw_dark_forest_addresses %>"
if (darkForestContractAddressHashesRaw !== "") {
const darkForestContractAddressHashes = darkForestContractAddressHashesRaw.split(',').map(hash => hash.toLowerCase())
applyCustomTheme("<%= raw_dark_forest_addresses %>", "dark-forest-theme-applied")
applyCustomTheme("<%= raw_circles_addresses %>", "circles-theme-applied")
}
function applyCustomTheme(contractAddressHashesRaw, customClass) {
if (contractAddressHashesRaw !== "") {
const contractAddressHashes = contractAddressHashesRaw.split(',').map(hash => hash.toLowerCase())
const to_address = "<%= to_address %>"
const created_from_address_hash_str = "<%= created_from_address_hash_str %>"
darkForestContractAddressHashes.forEach(darkForestContractAddressHash => {
if (to_address == darkForestContractAddressHash) {
document.body.className += " " + "dark-forest-theme-applied";
contractAddressHashes.forEach(contractAddressHash => {
if (contractAddressHash == to_address) {
document.body.className += " " + customClass;
return;
} else if (contractAddressHash == created_from_address_hash_str) {
document.body.className += " " + customClass;
return;
}
})
@ -65,15 +75,66 @@
window.onload = applyCustomMode()
</script>
<% true -> %>
<% (
@view_module == Elixir.BlockScoutWeb.AddressTransactionView ||
@view_module == Elixir.BlockScoutWeb.AddressTokenTransferView ||
@view_module == Elixir.BlockScoutWeb.AddressTokenView ||
@view_module == Elixir.BlockScoutWeb.AddressInternalTransactionView ||
@view_module == Elixir.BlockScoutWeb.AddressCoinBalanceView ||
@view_module == Elixir.BlockScoutWeb.AddressLogsView ||
@view_module == Elixir.BlockScoutWeb.AddressValidationView ||
@view_module == Elixir.BlockScoutWeb.AddressContractView ||
@view_module == Elixir.BlockScoutWeb.AddressReadContractView ||
@view_module == Elixir.BlockScoutWeb.AddressReadProxyView ||
@view_module == Elixir.BlockScoutWeb.AddressWriteContractView ||
@view_module == Elixir.BlockScoutWeb.AddressWriteProxyView
) -> %>
<% created_from_address = if @address && from_address_hash(@address), do: "0x" <> Base.encode16(from_address_hash(@address).bytes, case: :lower), else: nil %>
<script>
function applyCustomMode() {
applyCustomTheme("<%= raw_dark_forest_addresses %>", "dark-forest-theme-applied")
applyCustomTheme("<%= raw_circles_addresses %>", "circles-theme-applied")
}
function applyCustomTheme(contractAddressHashesRaw, customClass) {
if (contractAddressHashesRaw !== "") {
const contractAddressHashes = contractAddressHashesRaw.split(',').map(hash => hash.toLowerCase())
const created_from_address = "<%= created_from_address %>"
contractAddressHashes.forEach(contractAddressHash => {
if (window.location.pathname.toLowerCase().includes(contractAddressHash)) {
document.body.className += " " + customClass;
return;
} else if (contractAddressHash == created_from_address) {
document.body.className += " " + customClass;
return;
}
})
}
}
window.onload = applyCustomMode()
</script>
<% (
@view_module == Elixir.BlockScoutWeb.Tokens.TransferView ||
@view_module == Elixir.BlockScoutWeb.Tokens.ReadContractView ||
@view_module == Elixir.BlockScoutWeb.Tokens.HolderView
) -> %>
<% {:ok, created_from_address} = if @token.contract_address_hash, do: Chain.hash_to_address(@token.contract_address_hash), else: {:ok, nil} %>
<% created_from_address_hash = if from_address_hash(created_from_address), do: "0x" <> Base.encode16(from_address_hash(created_from_address).bytes, case: :lower), else: nil %>
<script>
function applyCustomMode() {
const darkForestContractAddressHashesRaw = "<%= raw_dark_forest_addresses %>"
if (darkForestContractAddressHashesRaw !== "") {
const darkForestContractAddressHashes = darkForestContractAddressHashesRaw.split(',').map(hash => hash.toLowerCase())
darkForestContractAddressHashes.forEach(darkForestContractAddressHash => {
if (window.location.pathname.toLowerCase().includes(darkForestContractAddressHash)) {
document.body.className += " " + "dark-forest-theme-applied";
applyCustomTheme("<%= raw_dark_forest_addresses %>", "dark-forest-theme-applied")
applyCustomTheme("<%= raw_circles_addresses %>", "circles-theme-applied")
}
function applyCustomTheme(contractAddressHashesRaw, customClass) {
if (contractAddressHashesRaw !== "") {
const contractAddressHashes = contractAddressHashesRaw.split(',').map(hash => hash.toLowerCase())
const created_from_address_hash = "<%= created_from_address_hash %>"
contractAddressHashes.forEach(contractAddressHash => {
if (window.location.pathname.toLowerCase().includes(contractAddressHash)) {
document.body.className += " " + customClass;
return;
} else if (contractAddressHash == created_from_address_hash) {
document.body.className += " " + customClass;
return;
}
})
@ -82,6 +143,8 @@
window.onload = applyCustomMode()
</script>
<% true -> %>
<%= nil %>
<% end %>
<script>
function applyDarkMode() {

@ -10,7 +10,7 @@
<%= gettext("Token Details") %>
<% end %>
<!-- buttons -->
<span class="overview-title-buttons float-right">
<span class="overview-title-buttons token float-right">
<span class="overview-title-item">
<span
aria-label='<%= gettext("View Contract") %>'

@ -1,16 +1,32 @@
<% circles_addresses_list = CustomContractsHelpers.get_custom_addresses_list(:circles_addresses) %>
<% address_hash_str = "0x" <> Base.encode16(@token.contract_address_hash.bytes, case: :lower) %>
<% {:ok, created_from_address} = if @token.contract_address_hash, do: Chain.hash_to_address(@token.contract_address_hash), else: {:ok, nil} %>
<% created_from_address_hash = if from_address_hash(created_from_address), do: "0x" <> Base.encode16(from_address_hash(created_from_address).bytes, case: :lower), else: nil %>
<section class="address-overview" data-page="token-details" data-page-address-hash="<%= @token.contract_address_hash %>">
<div class="row">
<div class="card-section col-md-12 col-lg-8 pr-0-md">
<div class="card">
<div class="card-body" token-page data-async-counters="<%= @counters_path %>">
<h1 class="card-title">
<%= cond do %>
<% Enum.member?(circles_addresses_list, address_hash_str) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% Enum.member?(circles_addresses_list, created_from_address_hash) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% true -> %>
<%= nil %>
<% end %>
<%= if token_name?(@token) do %>
<%= @token.name %>
<% else %>
<%= gettext("Token Details") %>
<% end %>
<!-- buttons -->
<span class="overview-title-buttons float-right">
<span class="overview-title-buttons token float-right">
<span class="overview-title-item" data-clipboard-text="<%= Address.checksum(@token.contract_address_hash) %>">
<span
aria-label='<%= gettext("Copy Address") %>'

@ -1,12 +1,28 @@
<% block = @transaction.block %>
<% decoded_input_data = decoded_input_data(@transaction) %>
<% status = transaction_status(@transaction) %>
<% circles_addresses_list = CustomContractsHelpers.get_custom_addresses_list(:circles_addresses) %>
<% address_hash_str = if @transaction.to_address_hash, do: "0x" <> Base.encode16(@transaction.to_address_hash.bytes, case: :lower), else: nil %>
<% {:ok, created_from_address} = if @transaction.to_address_hash, do: Chain.hash_to_address(@transaction.to_address_hash), else: {:ok, nil} %>
<% created_from_address_hash_str = if from_address_hash(created_from_address), do: "0x" <> Base.encode16(from_address_hash(created_from_address).bytes, case: :lower), else: nil %>
<section data-page="transaction-details" data-page-transaction-hash="<%= @transaction %>">
<div class="row">
<div class="col-md-12 col-lg-8 pr-0-md">
<!-- Transaction Details -->
<div class="card card-mr-50-md">
<div class="card-body">
<%= cond do %>
<% Enum.member?(circles_addresses_list, address_hash_str) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% Enum.member?(circles_addresses_list, created_from_address_hash_str) -> %>
<div class="custom-dapp-header-container">
<img class="custom-address-icon"/>
</div>
<% true -> %>
<%= nil %>
<% end %>
<h1 class="card-title">
<%= gettext "Transaction Details" %>
<!-- buttons -->

@ -3,20 +3,20 @@ defmodule BlockScoutWeb.CustomContractsHelpers do
Helpers to enable custom contracts themes
"""
def get_dark_forest_addresses_list do
dark_forest_addresses_var = get_raw_dark_forest_addresses_list()
dark_forest_addresses_list = (dark_forest_addresses_var && String.split(dark_forest_addresses_var, ",")) || []
def get_custom_addresses_list(env_var) do
addresses_var = get_raw_custom_addresses_list(env_var)
addresses_list = (addresses_var && String.split(addresses_var, ",")) || []
formatted_dark_forest_addresses_list =
dark_forest_addresses_list
formatted_addresses_list =
addresses_list
|> Enum.map(fn addr ->
String.downcase(addr)
end)
formatted_dark_forest_addresses_list
formatted_addresses_list
end
def get_raw_dark_forest_addresses_list do
Application.get_env(:block_scout_web, :dark_forest_addresses)
def get_raw_custom_addresses_list(env_var) do
Application.get_env(:block_scout_web, env_var)
end
end

@ -1,9 +1,12 @@
defmodule BlockScoutWeb.LayoutView do
use BlockScoutWeb, :view
alias Explorer.Chain
alias Plug.Conn
alias Poison.Parser
import BlockScoutWeb.AddressView, only: [from_address_hash: 1]
@issue_url "https://github.com/poanetwork/blockscout/issues/new"
@default_other_networks [
%{

@ -1,9 +1,12 @@
defmodule BlockScoutWeb.Tokens.OverviewView do
use BlockScoutWeb, :view
alias Explorer.Chain
alias Explorer.Chain.{Address, SmartContract, Token}
alias BlockScoutWeb.{AccessHelpers, CurrencyHelpers, LayoutView}
alias BlockScoutWeb.{AccessHelpers, CurrencyHelpers, CustomContractsHelpers, LayoutView}
import BlockScoutWeb.AddressView, only: [from_address_hash: 1]
@tabs ["token-transfers", "token-holders", "read-contract", "inventory"]
@etherscan_token_link "https://etherscan.io/token/"

@ -1,7 +1,7 @@
defmodule BlockScoutWeb.TransactionView do
use BlockScoutWeb, :view
alias BlockScoutWeb.{AccessHelpers, AddressView, BlockView, TabHelpers}
alias BlockScoutWeb.{AccessHelpers, AddressView, BlockView, CustomContractsHelpers, TabHelpers}
alias BlockScoutWeb.Cldr.Number
alias Explorer.{Chain, Repo}
alias Explorer.Chain.Block.Reward
@ -11,6 +11,7 @@ defmodule BlockScoutWeb.TransactionView do
alias Timex.Duration
import BlockScoutWeb.Gettext
import BlockScoutWeb.AddressView, only: [from_address_hash: 1]
import BlockScoutWeb.Tokens.Helpers
@tabs ["token-transfers", "internal-transactions", "logs", "raw-trace"]

@ -13,7 +13,7 @@ msgstr[0] ""
msgstr[1] ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:204
#: lib/block_scout_web/templates/transaction/overview.html.eex:220
msgid " Token Transfer"
msgstr ""
@ -59,7 +59,7 @@ msgid "%{subnetwork} Explorer - BlockScout"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:251
#: lib/block_scout_web/views/transaction_view.ex:252
msgid "(Awaiting internal transactions for status)"
msgstr ""
@ -72,7 +72,7 @@ msgid "(query)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/layout/app.html.eex:104
#: lib/block_scout_web/templates/layout/app.html.eex:167
msgid "- We're indexing this chain right now. Some of the counts may be inaccurate."
msgstr ""
@ -196,7 +196,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:80
#: lib/block_scout_web/templates/transaction/overview.html.eex:96
msgid "Block Confirmations"
msgstr ""
@ -216,12 +216,12 @@ msgid "Block Mined, awaiting import..."
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:66
#: lib/block_scout_web/templates/transaction/overview.html.eex:82
msgid "Block Number"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:33
#: lib/block_scout_web/views/transaction_view.ex:34
msgid "Block Pending"
msgstr ""
@ -359,12 +359,12 @@ msgid "Contract Byte Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:340
#: lib/block_scout_web/views/transaction_view.ex:341
msgid "Contract Call"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:337
#: lib/block_scout_web/views/transaction_view.ex:338
msgid "Contract Creation"
msgstr ""
@ -409,10 +409,10 @@ msgid "Copy ABI"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:39
#: lib/block_scout_web/templates/address/overview.html.eex:43
#: 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/address/overview.html.eex:49
#: lib/block_scout_web/templates/address/overview.html.eex:53
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:32
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36
msgid "Copy Address"
msgstr ""
@ -432,12 +432,12 @@ msgid "Copy Source Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:16
#: lib/block_scout_web/templates/transaction/overview.html.eex:32
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:36
msgid "Copy Txn Hash"
msgstr ""
@ -463,7 +463,7 @@ msgid "Create2"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:126
#: lib/block_scout_web/templates/address/overview.html.eex:136
msgid "Created by"
msgstr ""
@ -534,7 +534,7 @@ msgid "Description"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:34
#: lib/block_scout_web/templates/address/overview.html.eex:44
#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166
#: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:127
msgid "Details"
@ -551,12 +551,12 @@ msgid "During times when the network is busy (i.e during ICOs) it can take a whi
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:137
#: lib/block_scout_web/views/transaction_view.ex:138
msgid "ERC-20 "
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:138
#: lib/block_scout_web/views/transaction_view.ex:139
msgid "ERC-721 "
msgstr ""
@ -615,17 +615,17 @@ msgid "Error trying to fetch balances."
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:255
#: lib/block_scout_web/views/transaction_view.ex:256
msgid "Error: %{reason}"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:253
#: lib/block_scout_web/views/transaction_view.ex:254
msgid "Error: (Awaiting internal transactions for reason)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:139
#: lib/block_scout_web/templates/address/overview.html.eex:149
msgid "Error: Could not determine contract creator."
msgstr ""
@ -640,8 +640,8 @@ msgstr ""
#: lib/block_scout_web/templates/layout/app.html.eex:33
#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20
#: lib/block_scout_web/templates/transaction/_tile.html.eex:29
#: lib/block_scout_web/templates/transaction/overview.html.eex:189
#: lib/block_scout_web/templates/transaction/overview.html.eex:263
#: lib/block_scout_web/templates/transaction/overview.html.eex:205
#: lib/block_scout_web/templates/transaction/overview.html.eex:279
#: lib/block_scout_web/views/wei_helpers.ex:78
msgid "Ether"
msgstr ""
@ -660,7 +660,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/block/overview.html.eex:73
#: lib/block_scout_web/templates/transaction/overview.html.eex:87
#: lib/block_scout_web/templates/transaction/overview.html.eex:103
msgid "Nonce"
msgstr ""
@ -748,8 +748,8 @@ msgid "Hash"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:123
#: lib/block_scout_web/templates/transaction/overview.html.eex:127
#: lib/block_scout_web/templates/transaction/overview.html.eex:139
#: lib/block_scout_web/templates/transaction/overview.html.eex:143
msgid "Hex (Default)"
msgstr ""
@ -771,7 +771,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8
#: lib/block_scout_web/views/transaction_view.ex:252
#: lib/block_scout_web/views/transaction_view.ex:253
msgid "Success"
msgstr ""
@ -784,7 +784,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21
#: lib/block_scout_web/templates/transaction/_tile.html.eex:32
#: lib/block_scout_web/templates/transaction/overview.html.eex:92
#: lib/block_scout_web/templates/transaction/overview.html.eex:108
msgid "TX Fee"
msgstr ""
@ -846,7 +846,7 @@ 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:51
msgid "This transaction is pending confirmation."
msgstr ""
@ -867,14 +867,14 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:10
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:26
msgid "Token Details"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/holder/index.html.eex:15
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9
#: lib/block_scout_web/views/tokens/overview_view.ex:38
#: lib/block_scout_web/views/tokens/overview_view.ex:41
msgid "Token Holders"
msgstr ""
@ -886,7 +886,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:12
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:10
#: lib/block_scout_web/views/transaction_view.ex:333
#: lib/block_scout_web/views/transaction_view.ex:334
msgid "Token Transfer"
msgstr ""
@ -901,8 +901,8 @@ msgstr ""
#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7
#: lib/block_scout_web/views/address_view.ex:350
#: lib/block_scout_web/views/tokens/instance/overview_view.ex:119
#: lib/block_scout_web/views/tokens/overview_view.ex:37
#: lib/block_scout_web/views/transaction_view.ex:394
#: lib/block_scout_web/views/tokens/overview_view.ex:40
#: lib/block_scout_web/views/transaction_view.ex:395
msgid "Token Transfers"
msgstr ""
@ -918,7 +918,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address_logs/_logs.html.eex:18
#: lib/block_scout_web/views/transaction_view.ex:343
#: lib/block_scout_web/views/transaction_view.ex:344
msgid "Transaction"
msgstr ""
@ -950,7 +950,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:15
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17
#: lib/block_scout_web/views/tokens/overview_view.ex:40
#: lib/block_scout_web/views/tokens/overview_view.ex:43
msgid "Inventory"
msgstr ""
@ -960,7 +960,7 @@ msgid "It could still be in the TX Pool of a different node, waiting to be broad
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:111
#: lib/block_scout_web/templates/address/overview.html.eex:121
msgid "Last Balance Update: Block #"
msgstr ""
@ -998,7 +998,7 @@ msgid "License ID"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:291
#: lib/block_scout_web/templates/transaction/overview.html.eex:307
msgid "Limit"
msgstr ""
@ -1039,7 +1039,7 @@ msgid "Market Cap"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:232
#: lib/block_scout_web/views/transaction_view.ex:233
msgid "Max of"
msgstr ""
@ -1150,8 +1150,8 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/layout/_topnav.html.eex:65
#: lib/block_scout_web/views/transaction_view.ex:250
#: lib/block_scout_web/views/transaction_view.ex:284
#: lib/block_scout_web/views/transaction_view.ex:251
#: lib/block_scout_web/views/transaction_view.ex:285
msgid "Pending"
msgstr ""
@ -1172,12 +1172,12 @@ msgid "Price"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:59
#: lib/block_scout_web/templates/address/overview.html.eex:163
#: lib/block_scout_web/templates/address/overview.html.eex:69
#: lib/block_scout_web/templates/address/overview.html.eex:173
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:107
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:121
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:52
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:137
msgid "QR Code"
msgstr ""
@ -1192,14 +1192,14 @@ msgid "RPC"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:117
#: lib/block_scout_web/templates/transaction/overview.html.eex:133
msgid "Raw Input"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24
#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7
#: lib/block_scout_web/views/transaction_view.ex:397
#: lib/block_scout_web/views/transaction_view.ex:398
msgid "Raw Trace"
msgstr ""
@ -1284,14 +1284,14 @@ msgid "Show"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:60
#: lib/block_scout_web/templates/address/overview.html.eex:70
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:52
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:37
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:53
msgid "Show QR Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:74
#: lib/block_scout_web/templates/address/overview.html.eex:84
msgid "Show Validator Info"
msgstr ""
@ -1448,7 +1448,7 @@ msgid "Topics"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:91
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107
msgid "Total Supply"
msgstr ""
@ -1468,7 +1468,7 @@ 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:27
msgid "Transaction Details"
msgstr ""
@ -1479,7 +1479,7 @@ msgid "Transaction Inputs"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:109
#: lib/block_scout_web/templates/transaction/overview.html.eex:125
msgid "Transaction Speed"
msgstr ""
@ -1506,7 +1506,7 @@ msgid "Type"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:130
#: lib/block_scout_web/templates/transaction/overview.html.eex:146
msgid "UTF-8"
msgstr ""
@ -1532,7 +1532,7 @@ msgid "Use the search box to find a hosted network, or select from the list of a
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:285
#: lib/block_scout_web/templates/transaction/overview.html.eex:301
msgid "Used"
msgstr ""
@ -1557,13 +1557,13 @@ msgid "Validator Data"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:78
#: lib/block_scout_web/templates/address/overview.html.eex:88
msgid "Validator Info"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:189
#: lib/block_scout_web/templates/transaction/overview.html.eex:263
#: lib/block_scout_web/templates/transaction/overview.html.eex:205
#: lib/block_scout_web/templates/transaction/overview.html.eex:279
msgid "Value"
msgstr ""
@ -1605,7 +1605,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:16
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:20
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:71
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:87
msgid "View Contract"
msgstr ""
@ -1658,7 +1658,7 @@ msgid "Yes"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:131
#: lib/block_scout_web/templates/address/overview.html.eex:141
msgid "at"
msgstr ""
@ -1716,12 +1716,12 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37
#: lib/block_scout_web/templates/address/overview.html.eex:164
#: lib/block_scout_web/templates/address/overview.html.eex:172
#: lib/block_scout_web/templates/address/overview.html.eex:174
#: lib/block_scout_web/templates/address/overview.html.eex:182
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:108
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:116
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:122
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:130
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:138
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:146
msgid "Close"
msgstr ""
@ -1738,12 +1738,12 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:76
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:79
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:95
msgid "Decimals"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:281
#: lib/block_scout_web/templates/transaction/overview.html.eex:297
msgid "Gas"
msgstr ""
@ -1790,8 +1790,8 @@ msgid "Transfers"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:142
#: lib/block_scout_web/templates/transaction/overview.html.eex:155
#: lib/block_scout_web/templates/transaction/overview.html.eex:158
#: lib/block_scout_web/templates/transaction/overview.html.eex:171
msgid "Copy Txn Input"
msgstr ""
@ -1829,7 +1829,7 @@ msgstr ""
#: 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:348
#: lib/block_scout_web/views/transaction_view.ex:395
#: lib/block_scout_web/views/transaction_view.ex:396
msgid "Internal Transactions"
msgstr ""
@ -1839,7 +1839,7 @@ msgstr ""
#: 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:359
#: lib/block_scout_web/views/transaction_view.ex:396
#: lib/block_scout_web/views/transaction_view.ex:397
msgid "Logs"
msgstr ""
@ -1847,7 +1847,7 @@ msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:79
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25
#: lib/block_scout_web/views/address_view.ex:353
#: lib/block_scout_web/views/tokens/overview_view.ex:39
#: lib/block_scout_web/views/tokens/overview_view.ex:42
msgid "Read Contract"
msgstr ""
@ -1874,26 +1874,26 @@ msgid "Transactions"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:240
#: lib/block_scout_web/templates/transaction/overview.html.eex:256
msgid " Token Burning"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:8
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:6
#: lib/block_scout_web/views/transaction_view.ex:332
#: lib/block_scout_web/views/transaction_view.ex:333
msgid "Token Burning"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:222
#: lib/block_scout_web/templates/transaction/overview.html.eex:238
msgid " Token Minting"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:10
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:8
#: lib/block_scout_web/views/transaction_view.ex:331
#: lib/block_scout_web/views/transaction_view.ex:332
msgid "Token Minting"
msgstr ""
@ -1903,7 +1903,7 @@ msgid "Chore Reward"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:58
#: lib/block_scout_web/templates/transaction/overview.html.eex:74
msgid "Revert reason"
msgstr ""
@ -1988,13 +1988,13 @@ msgid "Bridged Tokens"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:15
#: lib/block_scout_web/templates/address/overview.html.eex:17
msgid "zkSnark space warfare (v0.4)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:19
#: lib/block_scout_web/templates/address/overview.html.eex:23
#: lib/block_scout_web/templates/address/overview.html.eex:21
#: lib/block_scout_web/templates/address/overview.html.eex:25
msgid "Play"
msgstr ""

@ -13,7 +13,7 @@ msgstr[0] ""
msgstr[1] ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:204
#: lib/block_scout_web/templates/transaction/overview.html.eex:220
msgid " Token Transfer"
msgstr ""
@ -59,7 +59,7 @@ msgid "%{subnetwork} Explorer - BlockScout"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:251
#: lib/block_scout_web/views/transaction_view.ex:252
msgid "(Awaiting internal transactions for status)"
msgstr ""
@ -72,7 +72,7 @@ msgid "(query)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/layout/app.html.eex:104
#: lib/block_scout_web/templates/layout/app.html.eex:167
msgid "- We're indexing this chain right now. Some of the counts may be inaccurate."
msgstr ""
@ -196,7 +196,7 @@ msgid "Block %{block_number} - %{subnetwork} Explorer"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:80
#: lib/block_scout_web/templates/transaction/overview.html.eex:96
msgid "Block Confirmations"
msgstr ""
@ -216,12 +216,12 @@ msgid "Block Mined, awaiting import..."
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:66
#: lib/block_scout_web/templates/transaction/overview.html.eex:82
msgid "Block Number"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:33
#: lib/block_scout_web/views/transaction_view.ex:34
msgid "Block Pending"
msgstr ""
@ -359,12 +359,12 @@ msgid "Contract Byte Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:340
#: lib/block_scout_web/views/transaction_view.ex:341
msgid "Contract Call"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:337
#: lib/block_scout_web/views/transaction_view.ex:338
msgid "Contract Creation"
msgstr ""
@ -409,10 +409,10 @@ msgid "Copy ABI"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:39
#: lib/block_scout_web/templates/address/overview.html.eex:43
#: 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/address/overview.html.eex:49
#: lib/block_scout_web/templates/address/overview.html.eex:53
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:32
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36
msgid "Copy Address"
msgstr ""
@ -432,12 +432,12 @@ msgid "Copy Source Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:16
#: lib/block_scout_web/templates/transaction/overview.html.eex:32
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:36
msgid "Copy Txn Hash"
msgstr ""
@ -463,7 +463,7 @@ msgid "Create2"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:126
#: lib/block_scout_web/templates/address/overview.html.eex:136
msgid "Created by"
msgstr ""
@ -534,7 +534,7 @@ msgid "Description"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:34
#: lib/block_scout_web/templates/address/overview.html.eex:44
#: lib/block_scout_web/templates/api_docs/_action_tile.html.eex:166
#: lib/block_scout_web/templates/api_docs/_eth_rpc_item.html.eex:127
msgid "Details"
@ -551,12 +551,12 @@ msgid "During times when the network is busy (i.e during ICOs) it can take a whi
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:137
#: lib/block_scout_web/views/transaction_view.ex:138
msgid "ERC-20 "
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:138
#: lib/block_scout_web/views/transaction_view.ex:139
msgid "ERC-721 "
msgstr ""
@ -615,17 +615,17 @@ msgid "Error trying to fetch balances."
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:255
#: lib/block_scout_web/views/transaction_view.ex:256
msgid "Error: %{reason}"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:253
#: lib/block_scout_web/views/transaction_view.ex:254
msgid "Error: (Awaiting internal transactions for reason)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:139
#: lib/block_scout_web/templates/address/overview.html.eex:149
msgid "Error: Could not determine contract creator."
msgstr ""
@ -640,8 +640,8 @@ msgstr ""
#: lib/block_scout_web/templates/layout/app.html.eex:33
#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:20
#: lib/block_scout_web/templates/transaction/_tile.html.eex:29
#: lib/block_scout_web/templates/transaction/overview.html.eex:189
#: lib/block_scout_web/templates/transaction/overview.html.eex:263
#: lib/block_scout_web/templates/transaction/overview.html.eex:205
#: lib/block_scout_web/templates/transaction/overview.html.eex:279
#: lib/block_scout_web/views/wei_helpers.ex:78
msgid "Ether"
msgstr ""
@ -660,7 +660,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/block/overview.html.eex:73
#: lib/block_scout_web/templates/transaction/overview.html.eex:87
#: lib/block_scout_web/templates/transaction/overview.html.eex:103
msgid "Nonce"
msgstr ""
@ -748,8 +748,8 @@ msgid "Hash"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:123
#: lib/block_scout_web/templates/transaction/overview.html.eex:127
#: lib/block_scout_web/templates/transaction/overview.html.eex:139
#: lib/block_scout_web/templates/transaction/overview.html.eex:143
msgid "Hex (Default)"
msgstr ""
@ -771,7 +771,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_emission_reward_tile.html.eex:8
#: lib/block_scout_web/views/transaction_view.ex:252
#: lib/block_scout_web/views/transaction_view.ex:253
msgid "Success"
msgstr ""
@ -784,7 +784,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_pending_tile.html.eex:21
#: lib/block_scout_web/templates/transaction/_tile.html.eex:32
#: lib/block_scout_web/templates/transaction/overview.html.eex:92
#: lib/block_scout_web/templates/transaction/overview.html.eex:108
msgid "TX Fee"
msgstr ""
@ -846,7 +846,7 @@ 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:51
msgid "This transaction is pending confirmation."
msgstr ""
@ -867,14 +867,14 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:10
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:10
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:26
msgid "Token Details"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/holder/index.html.eex:15
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:9
#: lib/block_scout_web/views/tokens/overview_view.ex:38
#: lib/block_scout_web/views/tokens/overview_view.ex:41
msgid "Token Holders"
msgstr ""
@ -886,7 +886,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:12
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:10
#: lib/block_scout_web/views/transaction_view.ex:333
#: lib/block_scout_web/views/transaction_view.ex:334
msgid "Token Transfer"
msgstr ""
@ -901,8 +901,8 @@ msgstr ""
#: lib/block_scout_web/templates/transaction_token_transfer/index.html.eex:7
#: lib/block_scout_web/views/address_view.ex:350
#: lib/block_scout_web/views/tokens/instance/overview_view.ex:119
#: lib/block_scout_web/views/tokens/overview_view.ex:37
#: lib/block_scout_web/views/transaction_view.ex:394
#: lib/block_scout_web/views/tokens/overview_view.ex:40
#: lib/block_scout_web/views/transaction_view.ex:395
msgid "Token Transfers"
msgstr ""
@ -918,7 +918,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address_logs/_logs.html.eex:18
#: lib/block_scout_web/views/transaction_view.ex:343
#: lib/block_scout_web/views/transaction_view.ex:344
msgid "Transaction"
msgstr ""
@ -950,7 +950,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/inventory/index.html.eex:15
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:17
#: lib/block_scout_web/views/tokens/overview_view.ex:40
#: lib/block_scout_web/views/tokens/overview_view.ex:43
msgid "Inventory"
msgstr ""
@ -960,7 +960,7 @@ msgid "It could still be in the TX Pool of a different node, waiting to be broad
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:111
#: lib/block_scout_web/templates/address/overview.html.eex:121
msgid "Last Balance Update: Block #"
msgstr ""
@ -998,7 +998,7 @@ msgid "License ID"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:291
#: lib/block_scout_web/templates/transaction/overview.html.eex:307
msgid "Limit"
msgstr ""
@ -1039,7 +1039,7 @@ msgid "Market Cap"
msgstr ""
#, elixir-format
#: lib/block_scout_web/views/transaction_view.ex:232
#: lib/block_scout_web/views/transaction_view.ex:233
msgid "Max of"
msgstr ""
@ -1150,8 +1150,8 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/layout/_topnav.html.eex:65
#: lib/block_scout_web/views/transaction_view.ex:250
#: lib/block_scout_web/views/transaction_view.ex:284
#: lib/block_scout_web/views/transaction_view.ex:251
#: lib/block_scout_web/views/transaction_view.ex:285
msgid "Pending"
msgstr ""
@ -1172,12 +1172,12 @@ msgid "Price"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:59
#: lib/block_scout_web/templates/address/overview.html.eex:163
#: lib/block_scout_web/templates/address/overview.html.eex:69
#: lib/block_scout_web/templates/address/overview.html.eex:173
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:51
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:107
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:36
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:121
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:52
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:137
msgid "QR Code"
msgstr ""
@ -1192,14 +1192,14 @@ msgid "RPC"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:117
#: lib/block_scout_web/templates/transaction/overview.html.eex:133
msgid "Raw Input"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/_tabs.html.eex:24
#: lib/block_scout_web/templates/transaction_raw_trace/index.html.eex:7
#: lib/block_scout_web/views/transaction_view.ex:397
#: lib/block_scout_web/views/transaction_view.ex:398
msgid "Raw Trace"
msgstr ""
@ -1284,14 +1284,14 @@ msgid "Show"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:60
#: lib/block_scout_web/templates/address/overview.html.eex:70
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:52
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:37
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:53
msgid "Show QR Code"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:74
#: lib/block_scout_web/templates/address/overview.html.eex:84
msgid "Show Validator Info"
msgstr ""
@ -1448,7 +1448,7 @@ msgid "Topics"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:91
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:107
msgid "Total Supply"
msgstr ""
@ -1468,7 +1468,7 @@ 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:27
msgid "Transaction Details"
msgstr ""
@ -1479,7 +1479,7 @@ msgid "Transaction Inputs"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:109
#: lib/block_scout_web/templates/transaction/overview.html.eex:125
msgid "Transaction Speed"
msgstr ""
@ -1506,7 +1506,7 @@ msgid "Type"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:130
#: lib/block_scout_web/templates/transaction/overview.html.eex:146
msgid "UTF-8"
msgstr ""
@ -1532,7 +1532,7 @@ msgid "Use the search box to find a hosted network, or select from the list of a
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:285
#: lib/block_scout_web/templates/transaction/overview.html.eex:301
msgid "Used"
msgstr ""
@ -1557,13 +1557,13 @@ msgid "Validator Data"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:78
#: lib/block_scout_web/templates/address/overview.html.eex:88
msgid "Validator Info"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:189
#: lib/block_scout_web/templates/transaction/overview.html.eex:263
#: lib/block_scout_web/templates/transaction/overview.html.eex:205
#: lib/block_scout_web/templates/transaction/overview.html.eex:279
msgid "Value"
msgstr ""
@ -1605,7 +1605,7 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:16
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:20
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:71
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:87
msgid "View Contract"
msgstr ""
@ -1658,7 +1658,7 @@ msgid "Yes"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:131
#: lib/block_scout_web/templates/address/overview.html.eex:141
msgid "at"
msgstr ""
@ -1716,12 +1716,12 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/_validator_metadata_modal.html.eex:37
#: lib/block_scout_web/templates/address/overview.html.eex:164
#: lib/block_scout_web/templates/address/overview.html.eex:172
#: lib/block_scout_web/templates/address/overview.html.eex:174
#: lib/block_scout_web/templates/address/overview.html.eex:182
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:108
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:116
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:122
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:130
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:138
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:146
msgid "Close"
msgstr ""
@ -1738,12 +1738,12 @@ msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/instance/overview/_details.html.eex:76
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:79
#: lib/block_scout_web/templates/tokens/overview/_details.html.eex:95
msgid "Decimals"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:281
#: lib/block_scout_web/templates/transaction/overview.html.eex:297
msgid "Gas"
msgstr ""
@ -1790,8 +1790,8 @@ msgid "Transfers"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:142
#: lib/block_scout_web/templates/transaction/overview.html.eex:155
#: lib/block_scout_web/templates/transaction/overview.html.eex:158
#: lib/block_scout_web/templates/transaction/overview.html.eex:171
msgid "Copy Txn Input"
msgstr ""
@ -1829,7 +1829,7 @@ msgstr ""
#: 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:348
#: lib/block_scout_web/views/transaction_view.ex:395
#: lib/block_scout_web/views/transaction_view.ex:396
msgid "Internal Transactions"
msgstr ""
@ -1839,7 +1839,7 @@ msgstr ""
#: 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:359
#: lib/block_scout_web/views/transaction_view.ex:396
#: lib/block_scout_web/views/transaction_view.ex:397
msgid "Logs"
msgstr ""
@ -1847,7 +1847,7 @@ msgstr ""
#: lib/block_scout_web/templates/address/_tabs.html.eex:79
#: lib/block_scout_web/templates/tokens/overview/_tabs.html.eex:25
#: lib/block_scout_web/views/address_view.ex:353
#: lib/block_scout_web/views/tokens/overview_view.ex:39
#: lib/block_scout_web/views/tokens/overview_view.ex:42
msgid "Read Contract"
msgstr ""
@ -1874,26 +1874,26 @@ msgid "Transactions"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:240
#: lib/block_scout_web/templates/transaction/overview.html.eex:256
msgid " Token Burning"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:8
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:6
#: lib/block_scout_web/views/transaction_view.ex:332
#: lib/block_scout_web/views/transaction_view.ex:333
msgid "Token Burning"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:222
#: lib/block_scout_web/templates/transaction/overview.html.eex:238
msgid " Token Minting"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/tokens/transfer/_token_transfer.html.eex:10
#: lib/block_scout_web/templates/transaction_token_transfer/_token_transfer.html.eex:8
#: lib/block_scout_web/views/transaction_view.ex:331
#: lib/block_scout_web/views/transaction_view.ex:332
msgid "Token Minting"
msgstr ""
@ -1903,7 +1903,7 @@ msgid "Chore Reward"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/transaction/overview.html.eex:58
#: lib/block_scout_web/templates/transaction/overview.html.eex:74
msgid "Revert reason"
msgstr ""
@ -1988,13 +1988,13 @@ msgid "Bridged Tokens"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:15
#: lib/block_scout_web/templates/address/overview.html.eex:17
msgid "zkSnark space warfare (v0.4)"
msgstr ""
#, elixir-format
#: lib/block_scout_web/templates/address/overview.html.eex:19
#: lib/block_scout_web/templates/address/overview.html.eex:23
#: lib/block_scout_web/templates/address/overview.html.eex:21
#: lib/block_scout_web/templates/address/overview.html.eex:25
msgid "Play"
msgstr ""

Loading…
Cancel
Save