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

Sync upstream #12

Closed
wants to merge 109 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
f4f434d
add new view with scores for marketplace
maxaleks Mar 8, 2024
95a8347
make solidityscan report component reusable
maxaleks Mar 8, 2024
37f6688
add security score component, integrate real data
maxaleks Mar 13, 2024
89b91fc
create contract list modal
maxaleks Mar 13, 2024
006e24a
fix contract list modal for mobiles
maxaleks Mar 14, 2024
4240c80
update link buttons, add tooltip, update modal title
maxaleks Mar 14, 2024
c4ba8c9
add beta label
maxaleks Mar 14, 2024
63448a8
fix search input margin on mobile
maxaleks Mar 14, 2024
50db854
move MoreInfo button to separate component
maxaleks Mar 14, 2024
8c974a4
move components
maxaleks Mar 14, 2024
b77d033
add reports to apps inside hook
maxaleks Mar 14, 2024
aaaedf9
rework AppSecurityReport
maxaleks Mar 14, 2024
b98ffd5
add security score to marketplace app modal
maxaleks Mar 14, 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
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
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
c393f75
Design updates (#1767)
tom2drum Apr 8, 2024
dd93c2b
Add url base path for stats api and visualizer api endpoints in the e…
tushar994 Apr 9, 2024
3a9c6cb
Hotfix for Noves integration error with undefined addresses (#1803)
juanlenoves 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
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
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup node
uses: actions/setup-node@v4
Expand All @@ -115,7 +117,7 @@ jobs:
run: yarn --frozen-lockfile --ignore-optional

- name: Run Jest
run: yarn test:jest --onlyChanged=${{ github.event_name == 'pull_request' }} --passWithNoTests
run: yarn test:jest ${{ github.event_name == 'pull_request' && '--changedSince=origin/main' || '' }} --passWithNoTests

pw_affected_tests:
name: Resolve affected Playwright tests
Expand Down
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
1 change: 1 addition & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@
"sepolia",
"polygon",
"zkevm",
"zksync",
"gnosis",
"rootstock",
"stability",
Expand Down
3 changes: 2 additions & 1 deletion 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
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;
1 change: 1 addition & 0 deletions configs/app/features/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ 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';
Expand Down
10 changes: 9 additions & 1 deletion configs/app/features/marketplace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,19 @@ 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 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;
}
> = (() => {
if (enabled === 'true' && chain.rpcUrl && submitFormUrl) {
if (configUrl) {
Expand All @@ -27,6 +33,7 @@ const config: Feature<(
submitFormUrl,
categoriesUrl,
suggestIdeasFormUrl,
securityReportsUrl,
});
} else if (adminServiceApiHost) {
return Object.freeze({
Expand All @@ -35,6 +42,7 @@ const config: Feature<(
submitFormUrl,
categoriesUrl,
suggestIdeasFormUrl,
securityReportsUrl,
api: {
endpoint: adminServiceApiHost,
basePath: '',
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
4 changes: 2 additions & 2 deletions configs/app/meta.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import app from './app';
import { getEnvValue, getExternalAssetFilePath } from './utils';

const defaultImageUrl = app.baseUrl + '/static/og_placeholder.png';
const defaultImageUrl = '/static/og_placeholder.png';

const meta = Object.freeze({
promoteBlockscoutInTitle: getEnvValue('NEXT_PUBLIC_PROMOTE_BLOCKSCOUT_IN_TITLE') || 'true',
og: {
description: getEnvValue('NEXT_PUBLIC_OG_DESCRIPTION') || '',
imageUrl: getExternalAssetFilePath('NEXT_PUBLIC_OG_IMAGE_URL') || defaultImageUrl,
imageUrl: app.baseUrl + (getExternalAssetFilePath('NEXT_PUBLIC_OG_IMAGE_URL') || defaultImageUrl),
},
});

Expand Down
26 changes: 2 additions & 24 deletions configs/app/ui/views/tx.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { TxAdditionalFieldsId, TxFieldsId, TxViewId } from 'types/views/tx';
import { TX_ADDITIONAL_FIELDS_IDS, TX_FIELDS_IDS, TX_VIEWS_IDS } from 'types/views/tx';
import type { TxAdditionalFieldsId, TxFieldsId } from 'types/views/tx';
import { TX_ADDITIONAL_FIELDS_IDS, TX_FIELDS_IDS } from 'types/views/tx';

import { getEnvValue, parseEnvJson } from 'configs/app/utils';

Expand Down Expand Up @@ -33,31 +33,9 @@ const additionalFields = (() => {
return result;
})();

const hiddenViews = (() => {
const envValue = getEnvValue('NEXT_PUBLIC_VIEWS_TX_HIDDEN_VIEWS');

if (!envValue) {
return undefined;
}

const parsedValue = parseEnvJson<Array<TxViewId>>(envValue);

if (!Array.isArray(parsedValue)) {
return undefined;
}

const result = TX_VIEWS_IDS.reduce((result, item) => {
result[item] = parsedValue.includes(item);
return result;
}, {} as Record<TxViewId, boolean>);

return result;
})();

const config = Object.freeze({
hiddenFields,
additionalFields,
hiddenViews,
});

export default config;
6 changes: 6 additions & 0 deletions configs/envs/.env.eth
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ NEXT_PUBLIC_TRANSACTION_INTERPRETATION_PROVIDER=blockscout
NEXT_PUBLIC_AD_BANNER_PROVIDER=hype
NEXT_PUBLIC_SAFE_TX_SERVICE_URL=https://safe-transaction-mainnet.safe.global
NEXT_PUBLIC_NAME_SERVICE_API_HOST=https://bens.services.blockscout.com
NEXT_PUBLIC_MARKETPLACE_ENABLED=true
NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/marketplace-categories/default.json
NEXT_PUBLIC_MARKETPLACE_CATEGORIES_URL=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/marketplace-categories/default.json
NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM=https://airtable.com/appiy5yijZpMMSKjT/shr6uMGPKjj1DK7NL
NEXT_PUBLIC_MARKETPLACE_SUGGEST_IDEAS_FORM=https://airtable.com/appiy5yijZpMMSKjT/pag3t82DUCyhGRZZO/form
NEXT_PUBLIC_VIEWS_CONTRACT_SOLIDITYSCAN_ENABLED=true

#meta
NEXT_PUBLIC_OG_IMAGE_URL=https://github.com/blockscout/frontend-configs/blob/main/configs/og-images/eth.jpg?raw=true
1 change: 1 addition & 0 deletions configs/envs/.env.main
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ NEXT_PUBLIC_LOGOUT_URL=https://blockscoutcom.us.auth0.com/v2/logout
NEXT_PUBLIC_MARKETPLACE_ENABLED=true
NEXT_PUBLIC_MARKETPLACE_CONFIG_URL=https://raw.githubusercontent.com/blockscout/frontend-configs/dev/configs/marketplace/eth-goerli.json
NEXT_PUBLIC_MARKETPLACE_CATEGORIES_URL=https://raw.githubusercontent.com/blockscout/frontend-configs/dev/configs/marketplace-categories/default.json
NEXT_PUBLIC_MARKETPLACE_SECURITY_REPORTS_URL=https://gist.githubusercontent.com/maxaleks/ce5c7e3de53e8f5b240b88265daf5839/raw/328383c958a8f7ecccf6d50c953bcdf8ab3faa0a/security_reports_goerli_test.json
NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM=https://airtable.com/shrqUAcjgGJ4jU88C
NEXT_PUBLIC_MARKETPLACE_SUGGEST_IDEAS_FORM=https://airtable.com/appiy5yijZpMMSKjT/pag3t82DUCyhGRZZO/form
NEXT_PUBLIC_STATS_API_HOST=https://stats-goerli.k8s-dev.blockscout.com
Expand Down
6 changes: 3 additions & 3 deletions configs/envs/.env.optimism_goerli
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ NEXT_PUBLIC_VISUALIZE_API_HOST=https://visualizer.services.blockscout.com
NEXT_PUBLIC_CONTRACT_INFO_API_HOST=https://contracts-info.services.blockscout.com
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST=https://admin-rs.services.blockscout.com
# rollup
NEXT_PUBLIC_IS_OPTIMISTIC_L2_NETWORK=true
NEXT_PUBLIC_OPTIMISTIC_L2_WITHDRAWAL_URL=https://app.optimism.io/bridge/withdraw
NEXT_PUBLIC_L1_BASE_URL=https://eth-goerli.blockscout.com/
NEXT_PUBLIC_ROLLUP_TYPE='optimistic'
NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_URL=https://app.optimism.io/bridge/withdraw
NEXT_PUBLIC_ROLLUP_L1_BASE_URL=https://eth-goerli.blockscout.com/
8 changes: 5 additions & 3 deletions configs/envs/.env.pw
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ NEXT_PUBLIC_IS_TESTNET=true
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE=validation

# api configuration
NEXT_PUBLIC_API_PROTOCOL=http
NEXT_PUBLIC_API_HOST=localhost
NEXT_PUBLIC_API_PORT=3003
NEXT_PUBLIC_API_BASE_PATH=/
Expand Down Expand Up @@ -47,7 +48,8 @@ NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED=true
NEXT_PUBLIC_AUTH_URL=http://localhost:3100
NEXT_PUBLIC_LOGOUT_URL=https://blockscoutcom.us.auth0.com/v2/logout
NEXT_PUBLIC_AUTH0_CLIENT_ID=xxx
NEXT_PUBLIC_STATS_API_HOST=https://localhost:3004
NEXT_PUBLIC_CONTRACT_INFO_API_HOST=https://localhost:3005
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST=https://localhost:3006
NEXT_PUBLIC_STATS_API_HOST=http://localhost:3004
NEXT_PUBLIC_CONTRACT_INFO_API_HOST=http://localhost:3005
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST=http://localhost:3006
NEXT_PUBLIC_RE_CAPTCHA_APP_SITE_KEY=xxx
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=xxx
2 changes: 2 additions & 0 deletions configs/envs/.env.sepolia
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ NEXT_PUBLIC_VIEWS_CONTRACT_SOLIDITYSCAN_ENABLED=true
NEXT_PUBLIC_HAS_BEACON_CHAIN=true
NEXT_PUBLIC_HAS_USER_OPS=true
NEXT_PUBLIC_AD_BANNER_PROVIDER=getit
NEXT_PUBLIC_DATA_AVAILABILITY_ENABLED=true
NEXT_PUBLIC_SAFE_TX_SERVICE_URL=https://safe-transaction-sepolia.safe.global

#meta
NEXT_PUBLIC_OG_IMAGE_URL=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/sepolia-testnet.png
59 changes: 59 additions & 0 deletions configs/envs/.env.zksync
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Set of ENVs for zkSync (dev only)
# https://zksync.blockscout.com/

# app configuration
NEXT_PUBLIC_APP_PROTOCOL=http
NEXT_PUBLIC_APP_HOST=localhost
NEXT_PUBLIC_APP_PORT=3000

# blockchain parameters
NEXT_PUBLIC_NETWORK_NAME=ZkSync Era
NEXT_PUBLIC_NETWORK_SHORT_NAME=ZkSync Era
NEXT_PUBLIC_NETWORK_ID=324
NEXT_PUBLIC_NETWORK_CURRENCY_NAME=Ether
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL=ETH
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS=18
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE=validation
NEXT_PUBLIC_NETWORK_RPC_URL=https://mainnet.era.zksync.io

# api configuration
NEXT_PUBLIC_API_HOST=zksync.blockscout.com
NEXT_PUBLIC_API_PORT=80
NEXT_PUBLIC_API_PROTOCOL=http
NEXT_PUBLIC_API_BASE_PATH=/

# ui config
## homepage
NEXT_PUBLIC_HOMEPAGE_CHARTS=['daily_txs']
## sidebar
NEXT_PUBLIC_FEATURED_NETWORKS=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/featured-networks/polygon-mainnet.json
NEXT_PUBLIC_NETWORK_LOGO=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/zksync.svg
NEXT_PUBLIC_NETWORK_LOGO_DARK=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/zksync-dark.svg
NEXT_PUBLIC_NETWORK_ICON=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/zksync-short.svg
NEXT_PUBLIC_NETWORK_ICON_DARK=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/zksync-short-dark.svg
NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND='rgba(53, 103, 246, 1)'
NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR='rgba(255, 255, 255, 1)'
NEXT_PUBLIC_OTHER_LINKS=[{'url':'https://zksync.drpc.org?ref=559183','text':'Public RPC'}]
## footer
NEXT_PUBLIC_FOOTER_LINKS=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/footer-links/zksync.json
## views
NEXT_PUBLIC_VIEWS_CONTRACT_SOLIDITYSCAN_ENABLED=false
## misc
NEXT_PUBLIC_NETWORK_EXPLORERS=[{'title':'l2scan','baseUrl':'https://zksync-era.l2scan.co/','paths':{'tx':'/tx','address':'/address','token':'/token','block':'/block'}}]
NEXT_PUBLIC_OG_IMAGE_URL=https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/zksync.png
# app features
NEXT_PUBLIC_APP_INSTANCE=local
NEXT_PUBLIC_APP_ENV=development
NEXT_PUBLIC_GRAPHIQL_TRANSACTION=0x79c7802ccdf3be5a49c47cc751aad351b0027e8275f6f54878eda50ee559a648
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED=true
# NEXT_PUBLIC_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL=ws
NEXT_PUBLIC_LOGOUT_URL=https://zksync.us.auth0.com/v2/logout
NEXT_PUBLIC_STATS_API_HOST=https://stats-eth-main.k8s.blockscout.com
NEXT_PUBLIC_VISUALIZE_API_HOST=https://visualizer.services.blockscout.com
NEXT_PUBLIC_CONTRACT_INFO_API_HOST=https://contracts-info.services.blockscout.com
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST=https://admin-rs.services.blockscout.com
NEXT_PUBLIC_SAFE_TX_SERVICE_URL=https://safe-transaction-zksync.safe.global
# rollup
NEXT_PUBLIC_ROLLUP_TYPE=zkSync
NEXT_PUBLIC_ROLLUP_L1_BASE_URL=https://eth.blockscout.com
1 change: 1 addition & 0 deletions deploy/scripts/download_assets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ ASSETS_DIR="$1"
ASSETS_ENVS=(
"NEXT_PUBLIC_MARKETPLACE_CONFIG_URL"
"NEXT_PUBLIC_MARKETPLACE_CATEGORIES_URL"
"NEXT_PUBLIC_MARKETPLACE_SECURITY_REPORTS_URL"
"NEXT_PUBLIC_FEATURED_NETWORKS"
"NEXT_PUBLIC_FOOTER_LINKS"
"NEXT_PUBLIC_NETWORK_LOGO"
Expand Down
1 change: 1 addition & 0 deletions deploy/tools/envs-validator/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ async function validateEnvs(appEnvs: Record<string, string>) {
'NEXT_PUBLIC_FEATURED_NETWORKS',
'NEXT_PUBLIC_MARKETPLACE_CONFIG_URL',
'NEXT_PUBLIC_MARKETPLACE_CATEGORIES_URL',
'NEXT_PUBLIC_MARKETPLACE_SECURITY_REPORTS_URL',
'NEXT_PUBLIC_FOOTER_LINKS',
];

Expand Down
Loading
Loading