Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update frontend to latest main #22

Closed
wants to merge 344 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
344 commits
Select commit Hold shift + click to select a range
8c1be25
Merge pull request #1704 from blockscout/hotfix/v1.26.2
tom2drum Mar 15, 2024
17dced8
use ids instead of network names
maxaleks Mar 15, 2024
c02cd33
replace type
maxaleks Mar 15, 2024
3a8ab33
Update values.yaml.gotmpl
maxaleks Mar 15, 2024
93a8f4b
add new env to docs and validator
maxaleks Mar 15, 2024
21b4dc6
add marketplace config url for review deployment
maxaleks Mar 15, 2024
c1946b5
metadata date fix
ArminaAiren Mar 18, 2024
3b1694d
Incorrect NFT media placeholder when navigating between pages
tom2drum Mar 18, 2024
bcafc93
fix token icon fallback
ArminaAiren Mar 18, 2024
089e667
Merge pull request #1715 from blockscout/tom2drum/issue-1710
tom2drum Mar 18, 2024
c4f6b56
404 for unknown transaction (#1697)
tom2drum Mar 18, 2024
754a976
Remove the use of the token object from the response of the `api/v2/t…
tom2drum Mar 18, 2024
09e8ab9
Add a banner to the My Verified Addresses page (#1695)
tom2drum Mar 18, 2024
9a3d38d
bugfix: No number wrap on the address 'Tokens' tab (#1691)
tom2drum Mar 18, 2024
259b2df
Merge pull request #1716 from blockscout/fe-1714
isstuev Mar 18, 2024
6618c44
Merge pull request #1712 from blockscout/metadata-date-fix
isstuev Mar 18, 2024
9f2aaa3
Merge pull request #1647 from blockscout/getit
isstuev Mar 18, 2024
373a979
design fixes
tom2drum Mar 18, 2024
e2c79df
display apps without security score
maxaleks Mar 18, 2024
4d3ce52
add security score to dapp page
maxaleks Mar 18, 2024
00ed752
change format of security reports data
maxaleks Mar 18, 2024
4dc76f6
Merge pull request #1718 from blockscout/tom2drum/issue-1701
isstuev Mar 19, 2024
7019554
Dim out page to focus on a search (#1711)
tom2drum Mar 19, 2024
3378bab
solidity scan icon
ArminaAiren Mar 18, 2024
976b4c7
change icon folder
isstuev Mar 19, 2024
f56c38e
stats price diff on the homepage
ArminaAiren Mar 18, 2024
7b8d8d5
Merge pull request #1719 from blockscout/fe-1666
isstuev Mar 19, 2024
d833ceb
bugfix: Real-time incoming transactions are sorted incorrectly (#1720)
tom2drum Mar 19, 2024
9933b2a
bugfix: Cannot convert string to buffer while write to the contract (…
tom2drum Mar 19, 2024
3699cb4
Merge pull request #1722 from blockscout/fe-1721
isstuev Mar 19, 2024
b123e5a
fix react keys for withdrawals
isstuev Mar 19, 2024
567aa1b
Merge pull request #1727 from blockscout/fe-1726
isstuev Mar 19, 2024
5680028
add skeletons
maxaleks Mar 19, 2024
a304f4b
fix dapp page top bar for mobiles
maxaleks Mar 19, 2024
20ba905
enable email for wallet connect
isstuev Mar 19, 2024
01b0db6
fix star icon size
maxaleks Mar 19, 2024
4a6ac17
Merge pull request #1730 from blockscout/wc-email
isstuev Mar 19, 2024
35f732f
wrap new components in A/B testing
maxaleks Mar 19, 2024
6ecb1e2
rework view switch to use url param and add skeleton
maxaleks Mar 19, 2024
1877b00
update no data component
maxaleks Mar 20, 2024
5899f90
fix wording for 1 item
maxaleks Mar 20, 2024
132c340
update empty search result
maxaleks Mar 20, 2024
8de2ada
turn off experiment by default
maxaleks Mar 20, 2024
f96072d
update search input placeholder
maxaleks Mar 20, 2024
5a63649
add button to tx not found error screen
tom2drum Mar 21, 2024
d4ce12a
replace label with svg
maxaleks Mar 21, 2024
b89c3a1
rename url param
maxaleks Mar 21, 2024
3bff33f
add mixpanel events
maxaleks Mar 21, 2024
a43c517
Update .env.main
maxaleks Mar 21, 2024
f97c377
Merge branch 'main' into dapps-security-score
maxaleks Mar 21, 2024
b3cc05e
fix warnings
maxaleks Mar 21, 2024
4205089
update star icon
maxaleks Mar 21, 2024
dbd3ec5
fix star icon color
maxaleks Mar 21, 2024
e27f4e2
update screenshots
maxaleks Mar 21, 2024
6aee84d
hide new features
maxaleks Mar 21, 2024
2f05b15
Update MarketplaceApp.pw.tsx_default_mobile-base-view-1.png
maxaleks Mar 21, 2024
cb3408d
add security report type
maxaleks Mar 22, 2024
7c36394
update envs-validator schema
maxaleks Mar 22, 2024
90d9352
chore: fix typos
xiaoxianBoy Mar 25, 2024
76f2564
update `web3modal` to v4 (#1731)
tom2drum Mar 25, 2024
9cdbf6d
Merge pull request #1739 from xiaoxianBoy/fix-typos
isstuev Mar 25, 2024
15d2d94
fix types
maxaleks Mar 25, 2024
821182e
remove commented code
maxaleks Mar 25, 2024
0052c02
post-review changes
maxaleks Mar 25, 2024
6d17681
rework solidity report component
maxaleks Mar 25, 2024
e3e8dbb
add test for marketplace with security scores
maxaleks Mar 25, 2024
df7a3bf
hide login page if no proxy needed
isstuev Mar 26, 2024
0442c08
upgrade dappscout-iframe
maxaleks Mar 26, 2024
8f72fe6
Add AdButler as an additional ad provider
isstuev Mar 26, 2024
ea89df4
test fixes
isstuev Mar 26, 2024
cc9cb36
Noves integration (#1398)
juanlenoves Mar 26, 2024
7a9736a
Merge pull request #1748 from blockscout/no-login-page
isstuev Mar 27, 2024
919a9f2
Merge pull request #1747 from blockscout/fe-1699
isstuev Mar 27, 2024
c20f58f
add back button
maxaleks Mar 27, 2024
946f77d
fix height of modal header
maxaleks Mar 27, 2024
b1acf6a
change ENV for blob txs (#1751)
tom2drum Mar 27, 2024
38b59af
zkSync batches (#1743)
tom2drum Mar 28, 2024
1c9b821
ad provider fix
isstuev Mar 28, 2024
fd7d9e2
ad provider fix 2
isstuev Mar 28, 2024
a9cbaf9
Add support of ERC-404 type
isstuev Mar 21, 2024
ad76695
type fixes
isstuev Mar 27, 2024
cba7470
fixes
isstuev Mar 27, 2024
02e7c27
tests
isstuev Mar 27, 2024
e46676a
fix
isstuev Mar 28, 2024
dc34601
test fix
isstuev Mar 28, 2024
586cfbc
[skip ci] fix error when creating wagmi config
tom2drum Mar 29, 2024
cbd0bf0
rework app card styles
maxaleks Mar 29, 2024
c0ff778
add featured app banner
maxaleks Mar 29, 2024
4fde5d2
Merge pull request #1709 from blockscout/dapps-security-score
maxaleks Apr 1, 2024
b3d0a43
Merge pull request #1746 from blockscout/upgrade-dappscout-iframe
maxaleks Apr 1, 2024
50a96d5
Merge pull request #1735 from blockscout/fe-1725
isstuev Apr 1, 2024
36f9de6
Playwright tests refactoring, pt.1 (#1744)
tom2drum Apr 1, 2024
917189c
Numbers over 16(?) digits are rounded in contract method fields (#1761)
tom2drum Apr 1, 2024
5b0a93d
User settings for address icons type (#1763)
tom2drum Apr 1, 2024
5873fa1
[skip ci] fix error with color mode cookie
tom2drum Apr 1, 2024
0d395a6
[skip ci] update web3modal to next minor version
tom2drum Apr 1, 2024
3fd7f42
[skip ci] update docs
tom2drum Apr 1, 2024
af7a835
disable unsupported chain modal
tom2drum Apr 2, 2024
3e0f6e6
erc 404 fix
isstuev Apr 2, 2024
586831e
fix erc404 transfer type
isstuev Apr 3, 2024
0dbb04b
Merge pull request #1780 from blockscout/1280-hf2
isstuev Apr 4, 2024
d837545
Monitoring: social preview bots request counter (#1781)
tom2drum Apr 4, 2024
440101a
add 404 tokens to watchlist
isstuev Apr 4, 2024
b7f3aed
Merge pull request #1782 from blockscout/watchlist-fix
isstuev Apr 4, 2024
0530195
fix docker build for arm arch
tom2drum Apr 4, 2024
6ca3a26
add iframe banner
maxaleks Apr 4, 2024
e523262
move env vars
maxaleks Apr 4, 2024
dcf1fa4
add new vars to validation schema
maxaleks Apr 4, 2024
5a1bb1c
fix style
maxaleks Apr 4, 2024
27b2ea9
change env for review
maxaleks Apr 4, 2024
fe52fca
fix bg for dark theme
maxaleks Apr 4, 2024
02c16f9
Update MarketplaceAppIntegrationIcon.tsx
maxaleks Apr 4, 2024
e52f3e3
remove unused styles
maxaleks Apr 4, 2024
91caeef
update snapshots
maxaleks Apr 4, 2024
e6b4b29
change background color
maxaleks Apr 5, 2024
289a693
add border-radius for image
maxaleks Apr 5, 2024
6fc7ec1
cut the link url
maxaleks Apr 5, 2024
02d5fd9
add event for banner
maxaleks Apr 5, 2024
fd4bbbc
remove footer and scroll on the app page
maxaleks Apr 5, 2024
6f70139
update screenshots
maxaleks Apr 8, 2024
c393f75
Design updates (#1767)
tom2drum Apr 8, 2024
bc91786
adblock detect improvement
isstuev Apr 2, 2024
2eb01a0
coin balance history chart new type and custom empty text
isstuev Apr 9, 2024
dd93c2b
Add url base path for stats api and visualizer api endpoints in the e…
tushar994 Apr 9, 2024
6e989bc
add comment
maxaleks Apr 9, 2024
8ef6962
Merge branch 'main' into marketplace-changes
maxaleks Apr 9, 2024
a6aed0e
update screenshots
maxaleks Apr 9, 2024
5fdaddc
Add tooltip on contracts license type
isstuev Apr 9, 2024
4aba170
move components to separate files
maxaleks Apr 10, 2024
3b9cbad
create FeaturedAppMobile component
maxaleks Apr 10, 2024
adad0d4
add tests
maxaleks Apr 10, 2024
062f16f
Add tips to score, explorers, domains
isstuev Apr 11, 2024
3a9c6cb
Hotfix for Noves integration error with undefined addresses (#1803)
juanlenoves Apr 11, 2024
2b74c07
show block and tx blob tabs only if NEXT_PUBLIC_DATA_AVAILABILITY_ENA…
isstuev Apr 11, 2024
24cfa42
rework dapp page header
maxaleks Apr 11, 2024
50910f8
URL previews don't work on X (Twitter) (#1792)
tom2drum Apr 11, 2024
8d4a23f
Trust 422 from api for invalid params (#1793)
tom2drum Apr 11, 2024
362b87a
custom claim funds link for optimistic rollups
isstuev Apr 12, 2024
20f8c0e
add warning state for wallet button
maxaleks Apr 12, 2024
bf0b87a
change icon color
maxaleks Apr 12, 2024
3737609
fix internal tx keys
isstuev Apr 13, 2024
4633636
Merge pull request #1813 from blockscout/int-tx-fix
isstuev Apr 15, 2024
0b47e4f
Merge pull request #1811 from blockscout/fe-1810
isstuev Apr 15, 2024
d2da006
Merge pull request #1773 from blockscout/adblock-detect-imp
isstuev Apr 15, 2024
74ceabc
Merge pull request #1801 from blockscout/fe-1736
isstuev Apr 15, 2024
b486d8c
Merge pull request #1800 from blockscout/fe-1775
isstuev Apr 15, 2024
d69e622
Merge pull request #1807 from blockscout/blob-config-tabs
isstuev Apr 15, 2024
b451db8
Merge pull request #1805 from blockscout/fe-1784
isstuev Apr 15, 2024
847ec0a
update tooltips
maxaleks Apr 15, 2024
6c4d667
Merge pull request #1788 from blockscout/marketplace-changes
maxaleks Apr 15, 2024
f95bb0f
Merge pull request #1785 from blockscout/marketplace-banner
maxaleks Apr 15, 2024
5b1871c
Merge branch 'main' into rework-marketplace-app-header
maxaleks Apr 15, 2024
4a7ca48
add tooltip for security score on app page
maxaleks Apr 15, 2024
2e1999d
update screenshots
maxaleks Apr 15, 2024
904d754
Merge branch 'main' into rework-marketplace-app-header
maxaleks Apr 15, 2024
b77b92b
remove provider from jest tests
maxaleks Apr 15, 2024
79b02e1
Adjust NFT token title (#1797)
tom2drum Apr 16, 2024
32c1363
Enhance OG tags with API data (#1806)
tom2drum Apr 16, 2024
ba3b101
Fix gas tracker time when backend returns 0 (#1819)
tom2drum Apr 16, 2024
f22a079
prototype
tom2drum Mar 27, 2024
41a982c
fix hydration error
isstuev Apr 4, 2024
1fae6db
performance improvement on address page
isstuev Apr 15, 2024
abb849b
marketplace layout fix
isstuev Apr 16, 2024
3a883b5
fix banner
maxaleks Apr 16, 2024
086ef3d
fix screensots memory error
isstuev Apr 16, 2024
a4156eb
Merge pull request #1825 from blockscout/fix-marketplace-banner
maxaleks Apr 16, 2024
ab3e070
change horizontal paddings for tags (#1824)
tom2drum Apr 16, 2024
bbec6bc
propRename
isstuev Apr 16, 2024
57b54a6
Merge pull request #1823 from blockscout/address-tabs-loading
isstuev Apr 16, 2024
cb844b8
fix app layout for mobiles
maxaleks Apr 16, 2024
663171f
fix tooltip
maxaleks Apr 16, 2024
e930151
fix state reset
maxaleks Apr 16, 2024
096c079
Stats Update (#1796)
tom2drum Apr 17, 2024
5012c82
fix wallet popover
maxaleks Apr 17, 2024
ac69828
memoize context value
maxaleks Apr 17, 2024
fb7aff5
remove unused var
maxaleks Apr 17, 2024
d7e984b
ENVs preset for deploy demo workflow (#1829)
tom2drum Apr 17, 2024
09df0fd
Merge branch 'main' into rework-marketplace-app-header
maxaleks Apr 17, 2024
194d4fd
Support ens_domain search result type
isstuev Apr 11, 2024
6096272
additional data for names
isstuev Apr 16, 2024
5ab56b5
rework fullscreen on mobiles
maxaleks Apr 17, 2024
dea727a
restore lost screenshots
isstuev Apr 17, 2024
528ee6f
Merge pull request #1809 from blockscout/fe-1768
isstuev Apr 17, 2024
7828a98
Merge branch 'main' into rework-marketplace-app-header
maxaleks Apr 17, 2024
d1f7e16
Merge pull request #1822 from blockscout/rework-marketplace-app-header
maxaleks Apr 17, 2024
6bfc495
Playwright tests refactoring, pt.2 (#1787)
tom2drum Apr 17, 2024
ca10f8a
Addresses not rendered in token actions on Transaction page (Firefox)…
tom2drum Apr 17, 2024
ed6bfac
fix filter button hover
tom2drum Apr 18, 2024
d84e7e0
configure blob txs in block details
isstuev Apr 19, 2024
13c3a13
hide tabs menu when loading
isstuev Apr 19, 2024
d252787
Merge pull request #1840 from blockscout/block-blob-fix
isstuev Apr 22, 2024
afc3be9
Merge pull request #1844 from blockscout/hide-loading-tab-menu
isstuev Apr 22, 2024
c494e4a
change license tooltip text
isstuev Apr 22, 2024
14389fd
Merge pull request #1846 from blockscout/change-license-tooltip
isstuev Apr 22, 2024
28dc026
change blob txn text in block details
tom2drum Apr 22, 2024
d5925ba
Merge pull request #1837 from blockscout/release/v1_29_0
isstuev Apr 22, 2024
2744d97
env preset for base
tom2drum Apr 23, 2024
9d6bd24
add metadata service feature
tom2drum Apr 23, 2024
ee5467f
zkEVM deposits and withdrawals (#1833)
tom2drum Apr 23, 2024
eef534b
Update API Endpoint for fetching `has_methods_*` and `has_custom_meth…
tom2drum Apr 23, 2024
69e8731
Allow export token holders to CSV (#1850)
tom2drum Apr 23, 2024
e3b8c8c
add typing to address metadata resource
tom2drum Apr 23, 2024
81942df
hook for API metadata info query
tom2drum Apr 24, 2024
10c75e5
remove comment
tom2drum Apr 24, 2024
05b0c04
fix tabs cut after API data is loaded
tom2drum Apr 24, 2024
3944283
update demo values
tom2drum Apr 24, 2024
422f1a4
Update color shemes for Tag component (#1855)
tom2drum Apr 24, 2024
c0bbc4c
hotfix: tabs will not recalculate cut position after API data is load…
tom2drum Apr 24, 2024
1f696b9
change useAddressMetadataInfoQuery accordint to new version of the API
tom2drum Apr 25, 2024
cc4f822
Switch preview env to sepolia
nzenchik Apr 26, 2024
13ccacf
add "frame-ancestors" rule for WalletConnect CSP policy
tom2drum Apr 26, 2024
faa24a3
[skip ci] update compulsoriness of `NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_…
tom2drum Apr 29, 2024
232e179
Render Token page `<h1>` on the server (#1862)
tom2drum Apr 29, 2024
33e1cf1
fix fullscreen height on android
maxaleks Apr 30, 2024
fdc8b80
fix flaky tests (#1871)
tom2drum Apr 30, 2024
c4b58cf
allow admin service without the account enabled
maxaleks Apr 30, 2024
5c3e1be
Merge pull request #1873 from blockscout/hotfix-env-validator-and-styles
tom2drum May 1, 2024
67c6404
Contract write: unable to add elements to a top level array argument …
tom2drum May 1, 2024
7384217
update main fork
DaMandal0rian May 2, 2024
98d6ebb
update frontend to latest main
DaMandal0rian May 2, 2024
ae5dd54
Merge branch 'main' into muhammad/frontend-update
DaMandal0rian May 6, 2024
274be3c
remove sentry
DaMandal0rian May 6, 2024
9b303ae
remove unused workflows
DaMandal0rian May 6, 2024
ec946b3
dockerfile
DaMandal0rian May 6, 2024
3e366fb
bump Next.js version to v14.2.3 (#1885)
tom2drum May 3, 2024
287a550
fix network logo in mobile header
tom2drum May 2, 2024
d3bf1a0
hide network type select from menu if there is only one type
tom2drum May 2, 2024
9f8ca33
fix issue with zero values in gas tracker
tom2drum May 3, 2024
d76dee2
fix user profile menu
tom2drum May 3, 2024
5814539
hide L1 status and Batch fields from tx and block details
tom2drum May 3, 2024
f9b9481
tests
tom2drum May 3, 2024
885eb55
add manage wallet button
maxaleks Apr 18, 2024
9e38604
remove duplicated icon
maxaleks Apr 23, 2024
0dd30f0
rename props
maxaleks Apr 23, 2024
acd56ec
reduce timeout
maxaleks Apr 24, 2024
aecaffe
fix sorting between tabs
maxaleks Apr 19, 2024
a7366b3
fix apps re-rendering
maxaleks Apr 19, 2024
66418ad
add discord link to app modal
maxaleks Apr 25, 2024
47eb9a7
update styles of no result component
maxaleks Apr 29, 2024
f843bef
add line break
maxaleks May 3, 2024
7862859
remove security score experiment
maxaleks May 3, 2024
f812b89
Contract interaction improvements (#1875)
tom2drum May 6, 2024
b025062
Get smart-contract bytecode from websocket (#1851)
tom2drum May 6, 2024
88cc2b1
Playwright tests refactoring, pt.4 (#1892)
tom2drum May 6, 2024
bcd5e13
Public tags: display name tags for addresses (#1877)
tom2drum May 6, 2024
1bf1845
add RELEASE_NOTES.md
tom2drum May 6, 2024
651e104
Merge branch 'main' into muhammad/frontend-update
DaMandal0rian May 6, 2024
16d71b9
fixes
DaMandal0rian May 6, 2024
52fb0e3
Merge branch 'main' into subspace-frontend
DaMandal0rian May 6, 2024
817f781
fixes
DaMandal0rian May 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
.DS_Store
*.pem
.tools
grafana

# debug
npm-debug.log*
Expand Down
16 changes: 10 additions & 6 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -338,15 +338,19 @@
"options": [
"main",
"main.L2",
"poa_core",
"eth_goerli",
"sepolia",
"localhost",
"base",
"gnosis",
"eth",
"rootstock",
"eth_goerli",
"eth_sepolia",
"optimism",
"optimism_sepolia",
"polygon",
"rootstock",
"stability",
"zkevm",
"gnosis",
"localhost",
"zksync",
],
"default": "main"
},
Expand Down
10 changes: 8 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# *****************************
FROM node:20.11.0-alpine AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
RUN apk add --no-cache libc6-compat python3 make g++
RUN ln -sf /usr/bin/python3 /usr/bin/python

### APP
# Install dependencies
Expand Down Expand Up @@ -69,7 +70,7 @@ RUN cd ./deploy/tools/feature-reporter && yarn build


### ENV VARIABLES CHECKER
# Copy dependencies and source code, then build
# Copy dependencies and source code, then build
COPY --from=deps /envs-validator/node_modules ./deploy/tools/envs-validator/node_modules
RUN cd ./deploy/tools/envs-validator && yarn build

Expand Down Expand Up @@ -118,6 +119,11 @@ RUN ["chmod", "-R", "777", "./public"]
COPY --from=builder /app/.env.registry .
COPY --from=builder /app/.env .

# Copy ENVs presets
ARG ENVS_PRESET
ENV ENVS_PRESET=$ENVS_PRESET
COPY ./configs/envs ./configs/envs

# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
Expand Down
33 changes: 33 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## 🚀 New Features
- Description of the new feature 1.
- Description of the new feature 2.

## 🐛 Bug Fixes
- Description of the bug fix 1.
- Description of the bug fix 2.

## ⚡ Performance Improvements
- Description of the performance improvement 1.
- Description of the performance improvement 2.

## 📦 Dependencies updates
- Updated dependency: PackageName 1 to version x.x.x.
- Updated dependency: PackageName 2 to version x.x.x.

## ✨ Other Changes
- Another minor change 1.
- Another minor change 2.

## 🚨 Changes in ENV variables
- Added new environment variable: ENV_VARIABLE_NAME with value.
- Updated existing environment variable: ENV_VARIABLE_NAME to new value.

**Full list of the ENV variables**: [v1.2.3](https://github.com/blockscout/frontend/blob/v1.2.3/docs/ENVS.md)

## 🦄 New Contributors
- @contributor1 made their first contribution in https://github.com/blockscout/frontend/pull/1
- @contributor2 made their first contribution in https://github.com/blockscout/frontend/pull/2

---

**Full Changelog**: https://github.com/blockscout/frontend/compare/v1.2.2...v1.2.3
4 changes: 2 additions & 2 deletions configs/app/chain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ const chain = Object.freeze({
symbol: getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL'),
decimals: Number(getEnvValue('NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS')) || DEFAULT_CURRENCY_DECIMALS,
},
governanceToken: {
symbol: getEnvValue('NEXT_PUBLIC_NETWORK_GOVERNANCE_TOKEN_SYMBOL'),
secondaryCoin: {
symbol: getEnvValue('NEXT_PUBLIC_NETWORK_SECONDARY_COIN_SYMBOL'),
},
rpcUrl: getEnvValue('NEXT_PUBLIC_NETWORK_RPC_URL'),
isTestnet: getEnvValue('NEXT_PUBLIC_IS_TESTNET') === 'true',
Expand Down
27 changes: 27 additions & 0 deletions configs/app/features/addressMetadata.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import type { Feature } from './types';

import { getEnvValue } from '../utils';

const apiHost = getEnvValue('NEXT_PUBLIC_METADATA_SERVICE_API_HOST');

const title = 'Address metadata';

const config: Feature<{ api: { endpoint: string; basePath: string } }> = (() => {
if (apiHost) {
return Object.freeze({
title,
isEnabled: true,
api: {
endpoint: apiHost,
basePath: '',
},
});
}

return Object.freeze({
title,
isEnabled: false,
});
})();

export default config;
31 changes: 30 additions & 1 deletion configs/app/features/adsBanner.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { Feature } from './types';
import type { AdButlerConfig } from 'types/client/adButlerConfig';
import { SUPPORTED_AD_BANNER_PROVIDERS } from 'types/client/adProviders';
import type { AdBannerProviders } from 'types/client/adProviders';
import type { AdBannerProviders, AdBannerAdditionalProviders } from 'types/client/adProviders';

import { getEnvValue, parseEnvJson } from '../utils';

Expand All @@ -11,6 +11,8 @@ const provider: AdBannerProviders = (() => {
return envValue && SUPPORTED_AD_BANNER_PROVIDERS.includes(envValue) ? envValue : 'slise';
})();

const additionalProvider = getEnvValue('NEXT_PUBLIC_AD_BANNER_ADDITIONAL_PROVIDER') as AdBannerAdditionalProviders;

const title = 'Banner ads';

type AdsBannerFeaturePayload = {
Expand All @@ -23,6 +25,15 @@ type AdsBannerFeaturePayload = {
mobile: AdButlerConfig;
};
};
} | {
provider: Exclude<AdBannerProviders, 'adbutler' | 'none'>;
additionalProvider: 'adbutler';
adButler: {
config: {
desktop: AdButlerConfig;
mobile: AdButlerConfig;
};
};
}

const config: Feature<AdsBannerFeaturePayload> = (() => {
Expand All @@ -44,6 +55,24 @@ const config: Feature<AdsBannerFeaturePayload> = (() => {
});
}
} else if (provider !== 'none') {

if (additionalProvider === 'adbutler') {
const desktopConfig = parseEnvJson<AdButlerConfig>(getEnvValue('NEXT_PUBLIC_AD_ADBUTLER_CONFIG_DESKTOP'));
const mobileConfig = parseEnvJson<AdButlerConfig>(getEnvValue('NEXT_PUBLIC_AD_ADBUTLER_CONFIG_MOBILE'));

return Object.freeze({
title,
isEnabled: true,
provider,
additionalProvider,
adButler: {
config: {
desktop: desktopConfig,
mobile: mobileConfig,
},
},
});
}
return Object.freeze({
title,
isEnabled: true,
Expand Down
21 changes: 21 additions & 0 deletions configs/app/features/dataAvailability.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { Feature } from './types';

import { getEnvValue } from '../utils';

const title = 'Data availability';

const config: Feature<{ isEnabled: true }> = (() => {
if (getEnvValue('NEXT_PUBLIC_DATA_AVAILABILITY_ENABLED') === 'true') {
return Object.freeze({
title,
isEnabled: true,
});
}

return Object.freeze({
title,
isEnabled: false,
});
})();

export default config;
3 changes: 3 additions & 0 deletions configs/app/features/index.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
export { default as account } from './account';
export { default as addressVerification } from './addressVerification';
export { default as addressMetadata } from './addressMetadata';
export { default as adsBanner } from './adsBanner';
export { default as adsText } from './adsText';
export { default as beaconChain } from './beaconChain';
export { default as bridgedTokens } from './bridgedTokens';
export { default as blockchainInteraction } from './blockchainInteraction';
export { default as csvExport } from './csvExport';
export { default as dataAvailability } from './dataAvailability';
export { default as gasTracker } from './gasTracker';
export { default as googleAnalytics } from './googleAnalytics';
export { default as graphqlApiDocs } from './graphqlApiDocs';
export { default as growthBook } from './growthBook';
export { default as marketplace } from './marketplace';
export { default as metasuites } from './metasuites';
export { default as mixpanel } from './mixpanel';
export { default as nameService } from './nameService';
export { default as restApiDocs } from './restApiDocs';
Expand Down
34 changes: 26 additions & 8 deletions configs/app/features/marketplace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,53 @@ const submitFormUrl = getEnvValue('NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM');
const suggestIdeasFormUrl = getEnvValue('NEXT_PUBLIC_MARKETPLACE_SUGGEST_IDEAS_FORM');
const categoriesUrl = getExternalAssetFilePath('NEXT_PUBLIC_MARKETPLACE_CATEGORIES_URL');
const adminServiceApiHost = getEnvValue('NEXT_PUBLIC_ADMIN_SERVICE_API_HOST');
const securityReportsUrl = getExternalAssetFilePath('NEXT_PUBLIC_MARKETPLACE_SECURITY_REPORTS_URL');
const featuredApp = getEnvValue('NEXT_PUBLIC_MARKETPLACE_FEATURED_APP');
const bannerContentUrl = getExternalAssetFilePath('NEXT_PUBLIC_MARKETPLACE_BANNER_CONTENT_URL');
const bannerLinkUrl = getEnvValue('NEXT_PUBLIC_MARKETPLACE_BANNER_LINK_URL');

const title = 'Marketplace';

const config: Feature<(
{ configUrl: string } |
{ api: { endpoint: string; basePath: string } }
) & { submitFormUrl: string; categoriesUrl: string | undefined; suggestIdeasFormUrl: string | undefined }
> = (() => {
) & {
submitFormUrl: string;
categoriesUrl: string | undefined;
suggestIdeasFormUrl: string | undefined;
securityReportsUrl: string | undefined;
featuredApp: string | undefined;
banner: { contentUrl: string; linkUrl: string } | undefined;
}> = (() => {
if (enabled === 'true' && chain.rpcUrl && submitFormUrl) {
const props = {
submitFormUrl,
categoriesUrl,
suggestIdeasFormUrl,
securityReportsUrl,
featuredApp,
banner: bannerContentUrl && bannerLinkUrl ? {
contentUrl: bannerContentUrl,
linkUrl: bannerLinkUrl,
} : undefined,
};

if (configUrl) {
return Object.freeze({
title,
isEnabled: true,
configUrl,
submitFormUrl,
categoriesUrl,
suggestIdeasFormUrl,
...props,
});
} else if (adminServiceApiHost) {
return Object.freeze({
title,
isEnabled: true,
submitFormUrl,
categoriesUrl,
suggestIdeasFormUrl,
api: {
endpoint: adminServiceApiHost,
basePath: '',
},
...props,
});
}
}
Expand Down
21 changes: 21 additions & 0 deletions configs/app/features/metasuites.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { Feature } from './types';

import { getEnvValue } from '../utils';

const title = 'MetaSuites extension';

const config: Feature<{ isEnabled: true }> = (() => {
if (getEnvValue('NEXT_PUBLIC_METASUITES_ENABLED') === 'true') {
return Object.freeze({
title,
isEnabled: true,
});
}

return Object.freeze({
title,
isEnabled: false,
});
})();

export default config;
31 changes: 5 additions & 26 deletions configs/app/features/safe.ts
Original file line number Diff line number Diff line change
@@ -1,35 +1,14 @@
import type { Feature } from './types';

import chain from '../chain';

// https://docs.safe.global/safe-core-api/available-services
const SAFE_API_MAP: Record<string, string> = {
'42161': 'https://safe-transaction-arbitrum.safe.global',
'1313161554': 'https://safe-transaction-aurora.safe.global',
'43114': 'https://safe-transaction-avalanche.safe.global',
'8453': 'https://safe-transaction-base.safe.global',
'84531': 'https://safe-transaction-base-testnet.safe.global',
'56': 'https://safe-transaction-bsc.safe.global',
'42220': 'https://safe-transaction-celo.safe.global',
'1': 'https://safe-transaction-mainnet.safe.global',
'100': 'https://safe-transaction-gnosis-chain.safe.global',
'5': 'https://safe-transaction-goerli.safe.global',
'10': 'https://safe-transaction-optimism.safe.global',
'137': 'https://safe-transaction-polygon.safe.global',
};
import { getEnvValue } from '../utils';

function getApiUrl(): string | undefined {
if (!chain.id) {
return;
}

const apiHost = SAFE_API_MAP[chain.id];

if (!apiHost) {
try {
const envValue = getEnvValue('NEXT_PUBLIC_SAFE_TX_SERVICE_URL');
return new URL('/api/v1/safes', envValue).toString();
} catch (error) {
return;
}

return `${ apiHost }/api/v1/safes/`;
}

const title = 'Safe address tags';
Expand Down
4 changes: 3 additions & 1 deletion configs/app/features/sol2uml.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import type { Feature } from './types';

import stripTrailingSlash from 'lib/stripTrailingSlash';

import { getEnvValue } from '../utils';

const apiEndpoint = getEnvValue('NEXT_PUBLIC_VISUALIZE_API_HOST');
Expand All @@ -13,7 +15,7 @@ const config: Feature<{ api: { endpoint: string; basePath: string } }> = (() =>
isEnabled: true,
api: {
endpoint: apiEndpoint,
basePath: '',
basePath: stripTrailingSlash(getEnvValue('NEXT_PUBLIC_VISUALIZE_API_BASE_PATH') || ''),
},
});
}
Expand Down
4 changes: 3 additions & 1 deletion configs/app/features/stats.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import type { Feature } from './types';

import stripTrailingSlash from 'lib/stripTrailingSlash';

import { getEnvValue } from '../utils';

const apiEndpoint = getEnvValue('NEXT_PUBLIC_STATS_API_HOST');
Expand All @@ -13,7 +15,7 @@ const config: Feature<{ api: { endpoint: string; basePath: string } }> = (() =>
isEnabled: true,
api: {
endpoint: apiEndpoint,
basePath: '',
basePath: stripTrailingSlash(getEnvValue('NEXT_PUBLIC_STATS_API_BASE_PATH') || ''),
},
});
}
Expand Down
Loading
Loading