@@ -27,6 +27,7 @@ import { route } from 'nextjs-routes';
2727import config from 'configs/app' ;
2828import { WEI , WEI_IN_GWEI } from 'lib/consts' ;
2929import { useArweaveId } from 'lib/hooks/useArweaveId' ;
30+ import { useBlobScan } from 'lib/hooks/useBlobScan' ;
3031import { useWvmArchiver } from 'lib/hooks/useWvmArchiver' ;
3132import getNetworkValidatorTitle from 'lib/networks/getNetworkValidatorTitle' ;
3233import getConfirmationDuration from 'lib/tx/getConfirmationDuration' ;
@@ -46,6 +47,7 @@ import HashStringShortenDynamic from 'ui/shared/HashStringShortenDynamic';
4647import IconSvg from 'ui/shared/IconSvg' ;
4748import LogDecodedInputData from 'ui/shared/logs/LogDecodedInputData' ;
4849import RawInputData from 'ui/shared/RawInputData' ;
50+ import BlobScanTag from 'ui/shared/statusTag/BlobScanTag' ;
4951import TxStatus from 'ui/shared/statusTag/TxStatus' ;
5052import WvmArchiverTag from 'ui/shared/statusTag/WvmArchiverTag' ;
5153import TextSeparator from 'ui/shared/TextSeparator' ;
@@ -75,6 +77,7 @@ interface Props {
7577const TxInfo = ( { data, isLoading, socketStatus } : Props ) => {
7678 const size = useWindowSize ( ) ;
7779 const { colorMode } = useColorMode ( ) ;
80+ const isBlobScan = useBlobScan ( { address : data ?. from . hash } ) ;
7881 const isWvmArchiver = useWvmArchiver ( { address : data ?. from . hash } ) ;
7982 const isSmallDevice = size . width && size . width < 768 ;
8083 const wvmIconPath =
@@ -320,14 +323,28 @@ const TxInfo = ({ data, isLoading, socketStatus }: Props) => {
320323 hint = "The external application source that generated this transaction"
321324 isLoading = { isLoading }
322325 >
323- Application
326+ Application
324327 </ DetailsInfoItem . Label >
325328 < DetailsInfoItem . Value >
326329 < WvmArchiverTag />
327330 </ DetailsInfoItem . Value >
328331 </ >
329332 ) }
330333
334+ { isBlobScan && (
335+ < >
336+ < DetailsInfoItem . Label
337+ hint = "The external application source that generated this transaction"
338+ isLoading = { isLoading }
339+ >
340+ Application
341+ </ DetailsInfoItem . Label >
342+ < DetailsInfoItem . Value >
343+ < BlobScanTag />
344+ </ DetailsInfoItem . Value >
345+ </ >
346+ ) }
347+
331348 < DetailsInfoItem . Label
332349 hint = "Block number containing the transaction"
333350 isLoading = { isLoading }
@@ -438,7 +455,7 @@ const TxInfo = ({ data, isLoading, socketStatus }: Props) => {
438455 hint = "The Arweave TXID of the WeaveVM block"
439456 isLoading = { isLoading }
440457 >
441- Block archive proof
458+ Block archive proof
442459 </ DetailsInfoItem . Label >
443460 < DetailsInfoItem . Value >
444461 < IconSvg
@@ -451,7 +468,13 @@ const TxInfo = ({ data, isLoading, socketStatus }: Props) => {
451468 />
452469 { arweaveId === 'block_not_archived_or_backfilled' ? (
453470 < >
454- < Text color = { colorMode === 'dark' ? '#1AFFB1' : '#00B774' } marginLeft = "5px" marginRight = "12px" > Pending </ Text >
471+ < Text
472+ color = { colorMode === 'dark' ? '#1AFFB1' : '#00B774' }
473+ marginLeft = "5px"
474+ marginRight = "12px"
475+ >
476+ Pending{ ' ' }
477+ </ Text >
455478
456479 < RotatingLines
457480 strokeColor = "grey"
@@ -470,7 +493,11 @@ const TxInfo = ({ data, isLoading, socketStatus }: Props) => {
470493 color = { colorMode === 'dark' ? '#1AFFB1' : '#00B774' }
471494 marginLeft = "5px"
472495 >
473- < EntityBase . Content text = { isSmallDevice ? truncateArweaveId ( arweaveId ) : arweaveId } />
496+ < EntityBase . Content
497+ text = {
498+ isSmallDevice ? truncateArweaveId ( arweaveId ) : arweaveId
499+ }
500+ />
474501 </ Link >
475502
476503 < CopyToClipboard text = { arweaveId } />
0 commit comments