diff --git a/packages/hardhat/hardhat.config.ts b/packages/hardhat/hardhat.config.ts
index 78edfc9..306d82a 100644
--- a/packages/hardhat/hardhat.config.ts
+++ b/packages/hardhat/hardhat.config.ts
@@ -5,11 +5,9 @@ require("@nomiclabs/hardhat-ethers");
require("hardhat-deploy");
require("dotenv").config();
-
module.exports = {
solidity: "0.8.20",
networks: {
-
sepolia: {
url: `${process.env.SEPOLIA_RPC_URL}`,
accounts: [`0x${process.env.PRIVATE_KEY}`],
diff --git a/packages/hardhat/package.json b/packages/hardhat/package.json
index 85d7207..1d2ff3c 100644
--- a/packages/hardhat/package.json
+++ b/packages/hardhat/package.json
@@ -3,7 +3,7 @@
"version": "0.0.1",
"scripts": {
"account": "hardhat run scripts/listAccount.ts",
- "chain": "hardhat node --network hardhat",
+ "chain": "hardhat node --network hardhat ",
"compile": "hardhat compile",
"deploy": "hardhat deploy",
"flatten": "hardhat flatten",
diff --git a/packages/nextjs/app/(app)/account/page.client.tsx b/packages/nextjs/app/(app)/account/page.client.tsx
new file mode 100644
index 0000000..ce4e117
--- /dev/null
+++ b/packages/nextjs/app/(app)/account/page.client.tsx
@@ -0,0 +1,27 @@
+"use client";
+
+import { Address } from "viem";
+import { useAccount, useDisconnect } from "wagmi";
+import { Balance } from "~~/components/scaffold-eth";
+import { AddressQRCodeModal } from "~~/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal";
+
+export const AccountPageClient: React.FC = () => {
+ const { address: connectedAddress } = useAccount();
+ const { disconnect } = useDisconnect();
+
+ return (
+
+
+
+
Account Balance
+
+
+
+
+ );
+};
diff --git a/packages/nextjs/app/(app)/account/page.tsx b/packages/nextjs/app/(app)/account/page.tsx
new file mode 100644
index 0000000..c301968
--- /dev/null
+++ b/packages/nextjs/app/(app)/account/page.tsx
@@ -0,0 +1,12 @@
+import { AccountPageClient } from "./page.client";
+import { Metadata } from "next";
+
+export const metadata: Metadata = { title: "Account" };
+
+export default function AccountPage() {
+ return (
+
+ );
+}
diff --git a/packages/nextjs/app/(app)/dashboard/page.tsx b/packages/nextjs/app/(app)/dashboard/page.tsx
new file mode 100644
index 0000000..9f664bf
--- /dev/null
+++ b/packages/nextjs/app/(app)/dashboard/page.tsx
@@ -0,0 +1,15 @@
+import { Metadata } from "next";
+
+export const metadata: Metadata = {
+ title: "Dashboard",
+};
+
+export default function DashboardPage() {
+ return (
+
+ );
+}
diff --git a/packages/nextjs/app/(app)/layout.tsx b/packages/nextjs/app/(app)/layout.tsx
new file mode 100644
index 0000000..4b5edee
--- /dev/null
+++ b/packages/nextjs/app/(app)/layout.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import Image from "next/image";
+import Link from "next/link";
+import { normalize } from "viem/ens";
+import { useAccount, useEnsAvatar } from "wagmi";
+import { BlockieAvatar } from "~~/components/scaffold-eth";
+
+export default function AppLayout({ children }: { children: React.ReactNode }) {
+ const { address: connectedAddress } = useAccount();
+ const ensAvatarResult = useEnsAvatar({
+ name: normalize("wevm.eth"),
+ });
+
+ return (
+
+
+ {children}
+
+ );
+}
diff --git a/packages/nextjs/app/(app)/onboarding/page.tsx b/packages/nextjs/app/(app)/onboarding/page.tsx
new file mode 100644
index 0000000..c808a03
--- /dev/null
+++ b/packages/nextjs/app/(app)/onboarding/page.tsx
@@ -0,0 +1,13 @@
+import { Metadata } from "next";
+
+export const metadata: Metadata = {
+ title: "Welcome abroad!",
+};
+
+export default function OnBoadingPage() {
+ return (
+
+ );
+}
diff --git a/packages/nextjs/app/(marketing)/layout.tsx b/packages/nextjs/app/(marketing)/layout.tsx
index 7577624..12ffc69 100644
--- a/packages/nextjs/app/(marketing)/layout.tsx
+++ b/packages/nextjs/app/(marketing)/layout.tsx
@@ -1,6 +1,20 @@
+"use client";
+
+import { useEffect } from "react";
+import { useRouter } from "next/navigation";
+import { useAccount } from "wagmi";
import { MarketingLayout } from "~~/components/layout";
export default function MarketingRootLayout({ children }: { children: React.ReactNode }) {
+ const { address: connectedAddress } = useAccount();
+ const { replace } = useRouter();
+
+ useEffect(() => {
+ if (connectedAddress) {
+ replace("/dashboard");
+ }
+ }, [replace, connectedAddress]);
+
return (
{children}
diff --git a/packages/nextjs/components/dashboard/ClaimRoleCard.tsx b/packages/nextjs/components/dashboard/ClaimRoleCard.tsx
new file mode 100644
index 0000000..e1e6162
--- /dev/null
+++ b/packages/nextjs/components/dashboard/ClaimRoleCard.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select";
+
+const roles = [
+ { label: "Refiner", role: "REFINER" },
+ { label: "Miner", role: "MINER" },
+ { label: "Transporter", role: "TRANSPORTER" },
+ { label: "Auditor", role: "AUDITOR" },
+ { label: "Inspector", role: "Inspector" },
+];
+
+export const ClaimRoleCard: React.FC = () => {
+ return (
+
+
Congluations!
+
+ Claim a role that will be used to identify you in Stoneproof platform.
+
+
+
+
+ );
+};
diff --git a/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx b/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx
index a46356b..7d8cbe6 100644
--- a/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx
+++ b/packages/nextjs/components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx
@@ -11,14 +11,8 @@ export const AddressQRCodeModal = ({ address, modalId }: AddressQRCodeModalProps
return (
<>
-