brand: remove remaining Blockscout text references from UI

Replace user-visible "Blockscout" brand text with "Lux Explorer":
- AdminSupportText: [email protected] → [email protected]
- useSignInWithWallet: sign-in message rebrand
- ContractVerification (Hardhat/Foundry): remove "on Blockscout"
- ContractDetailsAlerts: "Blockscout DB" → "our database"
- ContractCustomAbiAlert: liability notice rebrand
- ContractDetailsAlertVerificationStatus: "Blockscout Bytecode Database" → "Bytecode Database"
- ApiKeys page: remove "Blockscout API key" reference
- VerifiedAddresses: "Blockscout" → "explorer"
- MarketplaceRatingTriggerButton: remove login-to-blockscout message
- AddressMultichainButton/GetGasButton/RollupStageBadge: utm_source blockscout → lux-explorer
- Monaco editor: rename blockscout-light/dark themes to lux-light/dark
This commit is contained in:
2026-03-01 03:37:04 -08:00
parent 045a9316a2
commit 53b4e9d003
14 changed files with 19 additions and 19 deletions
@@ -29,7 +29,7 @@ const ContractDetailsAlertVerificationStatus = ({ data, isLoading, addressData }
href="https://docs.blockscout.com/devs/verification/ethereum-bytecode-database-microservice"
external
>
Blockscout Bytecode Database
Bytecode Database
</Link>
</>
);
@@ -61,7 +61,7 @@ const ContractDetailsAlerts = ({ data, isLoading, addressData, channel }: Props)
) }
{ !data?.is_verified && data?.verified_twin_address_hash && (!addressData.proxy_type || addressData.proxy_type === 'unknown') && (
<Alert status="warning" whiteSpace="pre-wrap">
<span>Contract is not verified. However, we found a verified contract with the same bytecode in Blockscout DB </span>
<span>Contract is not verified. However, we found a verified contract with the same bytecode in our database </span>
<AddressEntity
address={{ hash: data.verified_twin_address_hash, filecoin: { robust: data.verified_twin_filecoin_robust_address }, is_contract: true }}
truncation="constant"
@@ -11,7 +11,7 @@ const ContractCustomAbiAlert = ({ isLoading }: Props) => {
<Alert status="warning" loading={ isLoading }>
Note: Contract with custom ABI is only meant for debugging purpose and it is the user’s responsibility to ensure that the provided ABI
matches the contract, otherwise errors may occur or results returned may be incorrect.
Blockscout is not responsible for any losses that arise from the use of Read & Write contract.
Lux Explorer is not responsible for any losses that arise from the use of Read & Write contract.
</Alert>
);
};
@@ -51,7 +51,7 @@ const AddressMultichainButton = ({ item, addressHash, onClick, isFirst, isLast }
try {
const portfolioUrlString = item.urlTemplate.replace(TEMPLATE_ADDRESS, addressHash);
const portfolioUrl = new URL(portfolioUrlString);
portfolioUrl.searchParams.append('utm_source', 'blockscout');
portfolioUrl.searchParams.append('utm_source', 'lux-explorer');
portfolioUrl.searchParams.append('utm_medium', 'address');
const dappId = item.dappId;
const isExternal = typeof dappId !== 'string';
@@ -31,7 +31,7 @@ const ContractVerificationSolidityFoundry = () => {
<ContractVerificationFormCodeSnippet code={ codeSnippet }/>
</Flex>
<Box whiteSpace="pre-wrap">
<span>Full tutorial about contract verification via Foundry on Blockscout is available </span>
<span>Full tutorial about contract verification via Foundry is available </span>
<Link href="https://docs.blockscout.com/devs/verification/foundry-verification" external>
here
</Link>
@@ -56,7 +56,7 @@ const ContractVerificationSolidityHardhat = ({ config: formConfig }: { config: S
<ContractVerificationFormCodeSnippet code={ secondCodeSnippet }/>
</Flex>
<Box whiteSpace="pre-wrap">
<span>Full tutorial about contract verification via Hardhat on Blockscout is available </span>
<span>Full tutorial about contract verification via Hardhat is available </span>
<Link href="https://docs.blockscout.com/devs/verification/hardhat-verification-plugin" external>
here
</Link>
+1 -1
View File
@@ -21,7 +21,7 @@ interface Props extends ButtonProps {
const getTooltipText = (canRate: boolean) => {
if (!canRate) {
return <>Please log in to Blockscout to rate this { (getFeaturePayload(config.features.marketplace)?.titles.entity_name ?? '').toLowerCase() }.</>;
return <>Please log in to rate this { (getFeaturePayload(config.features.marketplace)?.titles.entity_name ?? '').toLowerCase() }.</>;
}
return <>Ratings come from verified users.<br/>Click here to rate!</>;
};
+1 -1
View File
@@ -62,7 +62,7 @@ const ApiKeysPage: React.FC = () => {
const description = (
<AccountPageDescription>
Create API keys to use for your RPC and EthRPC API requests. For more information, see { space }
<Link href="https://docs.blockscout.com/using-blockscout/my-account/api-keys#api-keys" external noIcon>"How to use a Blockscout API key"</Link>.
<Link href="https://docs.blockscout.com/using-blockscout/my-account/api-keys#api-keys" external noIcon>"How to use an API key"</Link>.
</AccountPageDescription>
);
+2 -2
View File
@@ -190,10 +190,10 @@ const VerifiedAddresses = () => {
{ userWithoutEmail && <VerifiedAddressesEmailAlert/> }
<AccountPageDescription allowCut={ false }>
<span>
Verify ownership of a smart contract address to easily update information in Blockscout.
Verify ownership of a smart contract address to easily update information in the explorer.
You will sign a single message to verify contract ownership.
Once verified, you can update token information, address name tags, and address labels from the
Blockscout console without needing to sign additional messages.
explorer console without needing to sign additional messages.
</span>
<chakra.p fontWeight={ 600 } mt={ 5 }>
Before starting, make sure that:
+4 -4
View File
@@ -84,16 +84,16 @@ const CodeEditor = ({ data, remappings, libraries, language, mainFile, contractN
})();
React.useEffect(() => {
instance?.editor.setTheme(colorMode === 'light' ? 'blockscout-light' : 'blockscout-dark');
instance?.editor.setTheme(colorMode === 'light' ? 'lux-light' : 'lux-dark');
}, [ colorMode, instance?.editor ]);
const handleEditorDidMount = React.useCallback((editor: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) => {
setInstance(monaco);
setEditor(editor);
monaco.editor.defineTheme('blockscout-light', themes.light);
monaco.editor.defineTheme('blockscout-dark', themes.dark);
monaco.editor.setTheme(colorMode === 'light' ? 'blockscout-light' : 'blockscout-dark');
monaco.editor.defineTheme('lux-light', themes.light);
monaco.editor.defineTheme('lux-dark', themes.dark);
monaco.editor.setTheme(colorMode === 'light' ? 'lux-light' : 'lux-dark');
if (editorLanguage === 'scilla') {
monaco.languages.register({ id: editorLanguage });
+2 -2
View File
@@ -10,8 +10,8 @@ interface Props {
const AdminSupportText = ({ className }: Props) => {
return (
<Box className={ className }>
<span>Need help? Contact admin team at </span>
<Link href="mailto:help@blockscout.com">help@blockscout.com</Link>
<span>Need help? Contact the support team at </span>
<Link href="mailto:help@lux.network">help@lux.network</Link>
<span> for assistance!</span>
</Box>
);
+1 -1
View File
@@ -24,7 +24,7 @@ function composeMessage(address: string, nonceBlockscout: string, nonceRewards:
`${ urlObj.hostname } wants you to sign in with your Ethereum account:`,
address,
'',
`Sign in/up to Blockscout Account V2 & Blockscout Merits program. Merits nonce: ${ nonceRewards }.`,
`Sign in to Lux Explorer & Lux Rewards program. Merits nonce: ${ nonceRewards }.`,
'',
`URI: ${ urlObj.origin }`,
'Version: 1',
+1 -1
View File
@@ -24,7 +24,7 @@ const RollupStageBadge = ({ chainConfig = config, ...props }: Props) => {
const tooltipContent = (
<>
The decentralization and maturity of the chain. Learn more at{ ' ' }
<Link href="https://l2beat.com?utm_source=blockscout&utm_medium=explorer" external>
<Link href="https://l2beat.com?utm_source=lux-explorer&utm_medium=explorer" external>
l2beat.com
</Link>
</>
+1 -1
View File
@@ -22,7 +22,7 @@ const GetGasButton = () => {
const dappId = getGasFeature.dappId;
const urlObj = new URL(getGasFeature.url);
urlObj.searchParams.append('utm_source', 'blockscout');
urlObj.searchParams.append('utm_source', 'lux-explorer');
urlObj.searchParams.append('utm_medium', 'address');
const url = urlObj.toString();