Skip to content

Commit ffcbd82

Browse files
replace components with scaffold-ui (#1136)
1 parent 9866c51 commit ffcbd82

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+298
-2207
lines changed

packages/nextjs/app/blockexplorer/_components/AddressComponent.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
"use client";
2+
13
import { BackButton } from "./BackButton";
24
import { ContractTabs } from "./ContractTabs";
5+
import { Address, Balance } from "@scaffold-ui/components";
36
import { Address as AddressType } from "viem";
4-
import { Address, Balance } from "~~/components/scaffold-eth";
7+
import { hardhat } from "viem/chains";
8+
import { useTargetNetwork } from "~~/hooks/scaffold-eth";
59

610
export const AddressComponent = ({
711
address,
@@ -10,6 +14,7 @@ export const AddressComponent = ({
1014
address: AddressType;
1115
contractData: { bytecode: string; assembly: string } | null;
1216
}) => {
17+
const { targetNetwork } = useTargetNetwork();
1318
return (
1419
<div className="m-10 mb-20">
1520
<div className="flex justify-start mb-5">
@@ -20,10 +25,17 @@ export const AddressComponent = ({
2025
<div className="bg-base-100 border-base-300 border shadow-md shadow-secondary rounded-3xl px-6 lg:px-8 mb-6 space-y-1 py-4 overflow-x-auto">
2126
<div className="flex">
2227
<div className="flex flex-col gap-1">
23-
<Address address={address} format="long" onlyEnsOrAddress />
28+
<Address
29+
address={address}
30+
format="long"
31+
onlyEnsOrAddress
32+
blockExplorerAddressLink={
33+
targetNetwork.id === hardhat.id ? `/blockexplorer/address/${address}` : undefined
34+
}
35+
/>
2436
<div className="flex gap-1 items-center">
2537
<span className="font-bold text-sm">Balance:</span>
26-
<Balance address={address} className="text" />
38+
<Balance address={address} />
2739
</div>
2840
</div>
2941
</div>

packages/nextjs/app/blockexplorer/_components/TransactionsTable.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { TransactionHash } from "./TransactionHash";
2+
import { Address } from "@scaffold-ui/components";
23
import { formatEther } from "viem";
3-
import { Address } from "~~/components/scaffold-eth";
4+
import { hardhat } from "viem/chains";
45
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
56
import { TransactionWithFunction } from "~~/utils/scaffold-eth";
67
import { TransactionsTableProps } from "~~/utils/scaffold-eth/";
@@ -44,14 +45,39 @@ export const TransactionsTable = ({ blocks, transactionReceipts }: TransactionsT
4445
<td className="w-1/12 md:py-4">{block.number?.toString()}</td>
4546
<td className="w-2/12 md:py-4">{timeMined}</td>
4647
<td className="w-2/12 md:py-4">
47-
<Address address={tx.from} size="sm" onlyEnsOrAddress />
48+
<Address
49+
address={tx.from}
50+
size="sm"
51+
onlyEnsOrAddress
52+
blockExplorerAddressLink={
53+
targetNetwork.id === hardhat.id ? `/blockexplorer/address/${tx.from}` : undefined
54+
}
55+
/>
4856
</td>
4957
<td className="w-2/12 md:py-4">
5058
{!receipt?.contractAddress ? (
51-
tx.to && <Address address={tx.to} size="sm" onlyEnsOrAddress />
59+
tx.to && (
60+
<Address
61+
address={tx.to}
62+
size="sm"
63+
onlyEnsOrAddress
64+
blockExplorerAddressLink={
65+
targetNetwork.id === hardhat.id ? `/blockexplorer/address/${tx.to}` : undefined
66+
}
67+
/>
68+
)
5269
) : (
5370
<div className="relative">
54-
<Address address={receipt.contractAddress} size="sm" onlyEnsOrAddress />
71+
<Address
72+
address={receipt.contractAddress}
73+
size="sm"
74+
onlyEnsOrAddress
75+
blockExplorerAddressLink={
76+
targetNetwork.id === hardhat.id
77+
? `/blockexplorer/address/${receipt.contractAddress}`
78+
: undefined
79+
}
80+
/>
5581
<small className="absolute top-4 left-4">(Contract Creation)</small>
5682
</div>
5783
)}

packages/nextjs/app/blockexplorer/transaction/_components/TransactionComp.tsx

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import { useEffect, useState } from "react";
44
import { useRouter } from "next/navigation";
5+
import { Address } from "@scaffold-ui/components";
56
import { Hash, Transaction, TransactionReceipt, formatEther, formatUnits } from "viem";
67
import { hardhat } from "viem/chains";
78
import { usePublicClient } from "wagmi";
8-
import { Address } from "~~/components/scaffold-eth";
99
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
1010
import { decodeTransactionData, getFunctionDetails } from "~~/utils/scaffold-eth";
1111
import { replacer } from "~~/utils/scaffold-eth/common";
@@ -64,7 +64,14 @@ const TransactionComp = ({ txHash }: { txHash: Hash }) => {
6464
<strong>From:</strong>
6565
</td>
6666
<td>
67-
<Address address={transaction.from} format="long" onlyEnsOrAddress />
67+
<Address
68+
address={transaction.from}
69+
format="long"
70+
onlyEnsOrAddress
71+
blockExplorerAddressLink={
72+
targetNetwork.id === hardhat.id ? `/blockexplorer/address/${transaction.from}` : undefined
73+
}
74+
/>
6875
</td>
6976
</tr>
7077
<tr>
@@ -73,11 +80,29 @@ const TransactionComp = ({ txHash }: { txHash: Hash }) => {
7380
</td>
7481
<td>
7582
{!receipt?.contractAddress ? (
76-
transaction.to && <Address address={transaction.to} format="long" onlyEnsOrAddress />
83+
transaction.to && (
84+
<Address
85+
address={transaction.to}
86+
format="long"
87+
onlyEnsOrAddress
88+
blockExplorerAddressLink={
89+
targetNetwork.id === hardhat.id ? `/blockexplorer/address/${transaction.to}` : undefined
90+
}
91+
/>
92+
)
7793
) : (
7894
<span>
7995
Contract Creation:
80-
<Address address={receipt.contractAddress} format="long" onlyEnsOrAddress />
96+
<Address
97+
address={receipt.contractAddress}
98+
format="long"
99+
onlyEnsOrAddress
100+
blockExplorerAddressLink={
101+
targetNetwork.id === hardhat.id
102+
? `/blockexplorer/address/${receipt.contractAddress}`
103+
: undefined
104+
}
105+
/>
81106
</span>
82107
)}
83108
</td>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
"use client";
2+
3+
// @refresh reset
4+
import { Contract } from "@scaffold-ui/debug-contracts";
5+
import { useDeployedContractInfo } from "~~/hooks/scaffold-eth";
6+
import { useTargetNetwork } from "~~/hooks/scaffold-eth/useTargetNetwork";
7+
import { ContractName } from "~~/utils/scaffold-eth/contract";
8+
9+
type ContractUIProps = {
10+
contractName: ContractName;
11+
className?: string;
12+
};
13+
14+
/**
15+
* UI component to interface with deployed contracts.
16+
**/
17+
export const ContractUI = ({ contractName }: ContractUIProps) => {
18+
const { targetNetwork } = useTargetNetwork();
19+
const { data: deployedContractData, isLoading: deployedContractLoading } = useDeployedContractInfo({ contractName });
20+
21+
if (deployedContractLoading) {
22+
return (
23+
<div className="mt-14">
24+
<span className="loading loading-spinner loading-lg"></span>
25+
</div>
26+
);
27+
}
28+
29+
if (!deployedContractData) {
30+
return (
31+
<p className="text-3xl mt-14">
32+
No contract found by the name of {contractName} on chain {targetNetwork.name}!
33+
</p>
34+
);
35+
}
36+
37+
return <Contract contractName={contractName as string} contract={deployedContractData} chainId={targetNetwork.id} />;
38+
};

packages/nextjs/app/debug/_components/DebugContracts.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
"use client";
22

33
import { useEffect, useMemo } from "react";
4+
import { ContractUI } from "./ContractUI";
5+
import "@scaffold-ui/debug-contracts/styles.css";
46
import { useSessionStorage } from "usehooks-ts";
57
import { BarsArrowUpIcon } from "@heroicons/react/20/solid";
6-
import { ContractUI } from "~~/app/debug/_components/contract";
78
import { ContractName, GenericContract } from "~~/utils/scaffold-eth/contract";
89
import { useAllContracts } from "~~/utils/scaffold-eth/contractsData";
910

@@ -59,13 +60,10 @@ export function DebugContracts() {
5960
))}
6061
</div>
6162
)}
62-
{contractNames.map(contractName => (
63-
<ContractUI
64-
key={contractName}
65-
contractName={contractName}
66-
className={contractName === selectedContract ? "" : "hidden"}
67-
/>
68-
))}
63+
{contractNames.map(
64+
contractName =>
65+
contractName === selectedContract && <ContractUI key={contractName} contractName={contractName} />,
66+
)}
6967
</>
7068
)}
7169
</div>

packages/nextjs/app/debug/_components/contract/ContractInput.tsx

Lines changed: 0 additions & 84 deletions
This file was deleted.

packages/nextjs/app/debug/_components/contract/ContractReadMethods.tsx

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)