Skip to content
This repository was archived by the owner on Jan 9, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions pages/_document.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,6 @@ class MyDocument extends Document {
<script src="/assets/envs.js"/>

{ /* FAVICON */ }
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16.png"/>
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32.png"/>
<link rel="icon" type="image/png" sizes="48x48" href="/assets/favicon/favicon-48x48.png"/>
<link rel="shortcut icon" href="/assets/favicon/favicon.ico"/>
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon-180x180.png"/>
<link rel="icon" type="image/png" sizes="192x192" href="/assets/favicon/android-chrome-192x192.png"/>
Expand Down
Binary file modified public/assets/favicon/android-chrome-192x192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/favicon/apple-touch-icon-180x180.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/favicon/favicon.ico
Binary file not shown.
Binary file modified public/assets/favicon/logo-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/static/kadena_evm_og_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/static/og_placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions toolkit/theme/globalCss.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import addressEntity from './globals/address-entity';
import entity from './globals/entity';
import recaptcha from './globals/recaptcha';
import scrollbar from './globals/scrollbar';
import txEntity from './globals/tx-entity';

const webkitAutofillOverrides = {
WebkitTextFillColor: 'var(--chakra-colors-input-fg)',
Expand Down Expand Up @@ -54,6 +55,7 @@ const globalCss: SystemConfig['globalCss'] = {
...scrollbar,
...entity,
...addressEntity,
...txEntity,
};

export default globalCss;
7 changes: 7 additions & 0 deletions toolkit/theme/globals/tx-entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const styles = {
'.tx-entity-mono, .tx-entity-mono > a': {
flex: 1,
},
};

export default styles;
46 changes: 25 additions & 21 deletions ui/block/BlockDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ const BlockDetails = ({ query }: Props) => {
const txsNum = (() => {
const blockTxsNum = (
<Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: heightOrHash, tab: 'txs' } }) }>
{ data.transactions_count } txn{ data.transactions_count === 1 ? '' : 's' }
<Text fontFamily="var(--kda-typography-family-monospace-font)">{ data.transactions_count }</Text>&nbsp;
<Text>txn{ data.transactions_count === 1 ? '' : 's' }</Text>
</Link>
);

Expand Down Expand Up @@ -156,7 +157,7 @@ const BlockDetails = ({ query }: Props) => {
{ blockTypeLabel } height
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ data.height }
</Skeleton>
{ data.height === 0 && <Text whiteSpace="pre"> - Genesis Block</Text> }
Expand Down Expand Up @@ -194,7 +195,7 @@ const BlockDetails = ({ query }: Props) => {
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
{ data.arbitrum.batch_number ?
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.arbitrum.batch_number }/> :
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.arbitrum.batch_number } fontFamily="var(--kda-typography-family-monospace-font)"/> :
<Skeleton loading={ isPlaceholderData }>Pending</Skeleton> }
</DetailedInfo.ItemValue>
</>
Expand All @@ -210,7 +211,7 @@ const BlockDetails = ({ query }: Props) => {
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue columnGap={ 3 }>
{ data.optimism.number ?
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.optimism.number }/> :
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.optimism.number } fontFamily="var(--kda-typography-family-monospace-font)"/> :
<Skeleton loading={ isPlaceholderData }>Pending</Skeleton> }
{ data.optimism.batch_data_container && (
<OptimisticL2TxnBatchDA
Expand All @@ -229,7 +230,7 @@ const BlockDetails = ({ query }: Props) => {
Size
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ data.size.toLocaleString() }
</Skeleton>
</DetailedInfo.ItemValue>
Expand Down Expand Up @@ -265,7 +266,7 @@ const BlockDetails = ({ query }: Props) => {
Withdrawals
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
<Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: heightOrHash, tab: 'withdrawals' } }) }>
{ data.withdrawals_count } withdrawal{ data.withdrawals_count === 1 ? '' : 's' }
</Link>
Expand All @@ -284,7 +285,7 @@ const BlockDetails = ({ query }: Props) => {
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
{ data.zksync.batch_number ?
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.zksync.batch_number }/> :
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.zksync.batch_number } fontFamily="var(--kda-typography-family-monospace-font)"/> :
<Skeleton loading={ isPlaceholderData }>Pending</Skeleton> }
</DetailedInfo.ItemValue>
</>
Expand Down Expand Up @@ -379,7 +380,7 @@ const BlockDetails = ({ query }: Props) => {
Block reward
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue columnGap={ 1 }>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ totalReward.dividedBy(WEI).toFixed() } { currencyUnits.ether }
</Skeleton>
{ rewardBreakDown }
Expand All @@ -396,7 +397,7 @@ const BlockDetails = ({ query }: Props) => {
>
{ type }
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<DetailedInfo.ItemValue fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(reward).dividedBy(WEI).toFixed() } { currencyUnits.ether }
</DetailedInfo.ItemValue>
</React.Fragment>
Expand All @@ -412,7 +413,7 @@ const BlockDetails = ({ query }: Props) => {
View
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ data.zilliqa.view }
</Skeleton>
</DetailedInfo.ItemValue>
Expand All @@ -430,7 +431,7 @@ const BlockDetails = ({ query }: Props) => {
Gas used
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(data.gas_used || 0).toFormat() }
</Skeleton>
<BlockGasUsed
Expand All @@ -449,7 +450,7 @@ const BlockDetails = ({ query }: Props) => {
Gas limit
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(data.gas_limit).toFormat() }
</Skeleton>
</DetailedInfo.ItemValue>
Expand All @@ -463,7 +464,7 @@ const BlockDetails = ({ query }: Props) => {
Minimum gas price
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(data.minimum_gas_price).dividedBy(GWEI).toFormat() } { currencyUnits.gwei }
</Skeleton>
</DetailedInfo.ItemValue>
Expand All @@ -483,8 +484,10 @@ const BlockDetails = ({ query }: Props) => {
<Skeleton loading={ isPlaceholderData } h="20px" maxW="380px" w="100%"/>
) : (
<>
<Text>{ BigNumber(data.base_fee_per_gas).dividedBy(WEI).toFixed() } { currencyUnits.ether } </Text>
<Text color="text.secondary" whiteSpace="pre">
<Text fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(data.base_fee_per_gas).dividedBy(WEI).toFixed() } { currencyUnits.ether }
</Text>
<Text color="text.secondary" whiteSpace="pre" fontFamily="var(--kda-typography-family-monospace-font)">
{ space }({ BigNumber(data.base_fee_per_gas).dividedBy(WEI_IN_GWEI).toFixed() } { currencyUnits.gwei })
</Text>
</>
Expand All @@ -506,7 +509,7 @@ const BlockDetails = ({ query }: Props) => {
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<IconSvg name="flame" boxSize={ 5 } color="gray.500" isLoading={ isPlaceholderData }/>
<Skeleton loading={ isPlaceholderData } ml={ 2 }>
<Skeleton loading={ isPlaceholderData } ml={ 2 } fontFamily="var(--kda-typography-family-monospace-font)">
{ burntFees.dividedBy(WEI).toFixed() } { currencyUnits.ether }
</Skeleton>
{ !txFees.isEqualTo(ZERO) && (
Expand All @@ -515,6 +518,7 @@ const BlockDetails = ({ query }: Props) => {
ml={ 4 }
value={ burntFees.dividedBy(txFees).toNumber() }
isLoading={ isPlaceholderData }
fontFamily="var(--kda-typography-family-monospace-font)"
/>
</Tooltip>
) }
Expand All @@ -531,7 +535,7 @@ const BlockDetails = ({ query }: Props) => {
Priority fee / Tip
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<Skeleton loading={ isPlaceholderData }>
<Skeleton loading={ isPlaceholderData } fontFamily="var(--kda-typography-family-monospace-font)">
{ BigNumber(data.priority_fee).dividedBy(WEI).toFixed() } { currencyUnits.ether }
</Skeleton>
</DetailedInfo.ItemValue>
Expand Down Expand Up @@ -687,7 +691,7 @@ const BlockDetails = ({ query }: Props) => {
>
Send count
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<DetailedInfo.ItemValue fontFamily="var(--kda-typography-family-monospace-font)">
{ data.arbitrum.send_count.toLocaleString() }
</DetailedInfo.ItemValue>

Expand All @@ -697,7 +701,7 @@ const BlockDetails = ({ query }: Props) => {
>
Send root
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<DetailedInfo.ItemValue fontFamily="var(--kda-typography-family-monospace-font)">
{ data.arbitrum.send_root }
</DetailedInfo.ItemValue>

Expand All @@ -707,7 +711,7 @@ const BlockDetails = ({ query }: Props) => {
>
Delayed messages
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<DetailedInfo.ItemValue fontFamily="var(--kda-typography-family-monospace-font)">
{ data.arbitrum.delayed_messages.toLocaleString() }
</DetailedInfo.ItemValue>
</>
Expand All @@ -720,7 +724,7 @@ const BlockDetails = ({ query }: Props) => {
>
Nonce
</DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue>
<DetailedInfo.ItemValue fontFamily="var(--kda-typography-family-monospace-font)">
{ data.nonce }
</DetailedInfo.ItemValue>
</>
Expand Down
6 changes: 5 additions & 1 deletion ui/shared/GasUsedToTargetRatio.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { chakra } from '@chakra-ui/react';
import React from 'react';

import { Skeleton } from 'toolkit/chakra/skeleton';
Expand All @@ -12,7 +13,10 @@ const GasUsedToTargetRatio = ({ value, isLoading }: Props) => {
return (
<Tooltip content="% of Gas Target">
<Skeleton color="text.secondary" loading={ isLoading }>
<span>{ (value > 0 ? '+' : '') + value.toLocaleString(undefined, { maximumFractionDigits: 2 }) }%</span>
<chakra.span
fontFamily="var(--kda-typography-family-monospace-font)">
{ (value > 0 ? '+' : '') + value.toLocaleString(undefined, { maximumFractionDigits: 2 }) }%
</chakra.span>
</Skeleton>
</Tooltip>
);
Expand Down
4 changes: 2 additions & 2 deletions ui/shared/HashStringShortenDynamic.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const HashStringShortenDynamic = ({ hash, fontWeight = '400', noTooltip, tailLen

const parentWidth = getWidth(parent);

if (getWidth(shadowEl) > parentWidth) {
if (getWidth(shadowEl) > parentWidth - 40) {
const tail = hash.slice(-tailLength);
let leftI = HEAD_MIN_LENGTH;
let rightI = hash.length - tailLength;
Expand All @@ -66,7 +66,7 @@ const HashStringShortenDynamic = ({ hash, fontWeight = '400', noTooltip, tailLen
rightI = medI;
}
}
setDisplayedString(hash.slice(0, rightI - 1) + '...' + tail);
setDisplayedString(hash.slice(0, rightI - (hash.length > (4 * 16) ? (16 / 2) : 1)) + '...' + tail);
} else {
setDisplayedString(hash);
}
Expand Down
2 changes: 1 addition & 1 deletion ui/shared/entities/tx/TxEntity.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ const TxEntity = (props: EntityProps) => {
const content = <Content { ...partsProps.content }/>;

return (
<Container { ...partsProps.container }>
<Container { ...partsProps.container } className="tx-entity-mono">
<Icon { ...partsProps.icon }/>
{ props.noLink ? content : <Link { ...partsProps.link }>{ content }</Link> }
<Copy { ...partsProps.copy }/>
Expand Down
1 change: 1 addition & 0 deletions ui/shared/logs/LogItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ const LogItem = ({ address, index, topics, data, decoded, type, transaction_hash
fontSize="sm"
borderRadius="md"
bgColor={ isLoading ? undefined : { _light: 'blackAlpha.50', _dark: 'whiteAlpha.50' } }
fontFamily="var(--kda-typography-family-monospace-font)"
>
{ data }
</Skeleton>
Expand Down
44 changes: 37 additions & 7 deletions ui/tx/details/TxDetailsOther.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,57 @@ const TxDetailsOther = ({ nonce, type, position, queueIndex }: Props) => {
typeof type === 'number' && (
<Box key="type">
<Text as="span" fontWeight="500">Txn type: </Text>
<Text fontWeight="600" as="span">{ type }</Text>
{ type === 2 && <Text fontWeight="400" as="span" ml={ 1 } color="text.secondary">(EIP-1559)</Text> }
{ type === 3 && <Text fontWeight="400" as="span" ml={ 1 } color="text.secondary">(EIP-4844)</Text> }
{ type === 4 && <Text fontWeight="400" as="span" ml={ 1 } color="text.secondary">(EIP-7702)</Text> }
<Text fontWeight="600" as="span" fontFamily="var(--kda-typography-family-monospace-font)">{ type }</Text>
{ type === 2 && (
<Text
fontWeight="400"
as="span"
ml={ 1 }
color="text.secondary"
fontFamily="var(--kda-typography-family-monospace-font)"
>
(EIP-1559)
</Text>
) }
{ type === 3 && (
<Text
fontWeight="400"
as="span"
ml={ 1 }
color="text.secondary"
fontFamily="var(--kda-typography-family-monospace-font)"
>
(EIP-4844)
</Text>
) }
{ type === 4 && (
<Text
fontWeight="400"
as="span"
ml={ 1 }
color="text.secondary"
fontFamily="var(--kda-typography-family-monospace-font)"
>
(EIP-7702)
</Text>
) }
</Box>
),
queueIndex !== undefined ? (
<Box key="queueIndex">
<Text as="span" fontWeight="500">Queue index: </Text>
<Text fontWeight="600" as="span">{ queueIndex }</Text>
<Text fontWeight="600" as="span" fontFamily="var(--kda-typography-family-monospace-font)">{ queueIndex }</Text>
</Box>
) : (
<Box key="nonce">
<Text as="span" fontWeight="500">Nonce: </Text>
<Text fontWeight="600" as="span">{ nonce }</Text>
<Text fontWeight="600" as="span" fontFamily="var(--kda-typography-family-monospace-font)">{ nonce }</Text>
</Box>
),
position !== null && position !== undefined && (
<Box key="position">
<Text as="span" fontWeight="500">Position: </Text>
<Text fontWeight="600" as="span">{ position }</Text>
<Text fontWeight="600" as="span" fontFamily="var(--kda-typography-family-monospace-font)">{ position }</Text>
</Box>
),
]
Expand Down
2 changes: 1 addition & 1 deletion ui/tx/details/TxInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ const TxInfo = ({ data, tacOperations, isLoading, socketStatus }: Props) => {
<TxStatus status={ data.status } errorText={ data.status === 'error' ? data.result : undefined } isLoading={ isLoading }/>
{ data.method && (
<Badge colorPalette={ data.method === 'Multicall' ? 'teal' : 'gray' } loading={ isLoading } truncated ml={ 3 }>
{ data.method }
<chakra.span fontFamily="var(--kda-typography-family-monospace-font)">{ data.method }</chakra.span>
</Badge>
) }
{ data.arbitrum?.contains_message && (
Expand Down
4 changes: 2 additions & 2 deletions ui/txs/TxsTableItem.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { VStack } from '@chakra-ui/react';
import { VStack, chakra } from '@chakra-ui/react';
import React from 'react';

import type { Transaction } from 'types/api/transaction';
Expand Down Expand Up @@ -72,7 +72,7 @@ const TxsTableItem = ({ tx, showBlockInfo, currentAddress, enableTimeIncrement,
<TableCell whiteSpace="nowrap">
{ tx.method && (
<Badge colorPalette={ tx.method === 'Multicall' ? 'teal' : 'gray' } loading={ isLoading } truncated>
<span>{ tx.method }</span>
<chakra.span fontFamily="var(--kda-typography-family-monospace-font)">{ tx.method }</chakra.span>
</Badge>
) }
</TableCell>
Expand Down
Loading