From db631b7640ec2aab3efc53d7c56a251bc049a22a Mon Sep 17 00:00:00 2001 From: Jimmy Chu <898091+jimmychu0807@users.noreply.github.com> Date: Tue, 26 Aug 2025 19:51:18 +0800 Subject: [PATCH 1/3] updated --- packages/contracts/src/SelfVerification.sol | 5 +- packages/web/.eslintrc.json | 6 + packages/web/package.json | 6 +- packages/web/src/app/layout.tsx | 9 +- packages/web/src/app/page.tsx | 90 +- packages/web/src/components/Web3Provider.tsx | 42 + pnpm-lock.yaml | 3407 +++++++++++++++++- 7 files changed, 3435 insertions(+), 130 deletions(-) create mode 100644 packages/web/.eslintrc.json create mode 100644 packages/web/src/components/Web3Provider.tsx diff --git a/packages/contracts/src/SelfVerification.sol b/packages/contracts/src/SelfVerification.sol index d97e4c7..36357e9 100644 --- a/packages/contracts/src/SelfVerification.sol +++ b/packages/contracts/src/SelfVerification.sol @@ -9,10 +9,9 @@ contract SelfVerification is SelfVerificationRoot, Ownable { // Store no, of times a wallet owner has been verified with a valid ID mapping(address => uint32) public verifiedHumans; bytes32 public verificationConfigId; - address public lastUserAddress; // Event to track successful verifications - event VerificationCompleted(address indexed sender, string indexed nationality, bytes userData); + event VerificationCompleted(address indexed sender, string indexed nationality, uint32 times, bytes userData); /** * @notice Constructor for the contract @@ -43,7 +42,7 @@ contract SelfVerification is SelfVerificationRoot, Ownable { string memory nationality = output.nationality; verifiedHumans[userId] += 1; - emit VerificationCompleted(userId, nationality, userData); + emit VerificationCompleted(userId, nationality, verifiedHumans[userId], userData); // Add your custom logic here: // - Mint NFT to verified user diff --git a/packages/web/.eslintrc.json b/packages/web/.eslintrc.json new file mode 100644 index 0000000..6b10a5b --- /dev/null +++ b/packages/web/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "extends": [ + "next/core-web-vitals", + "next/typescript" + ] +} diff --git a/packages/web/package.json b/packages/web/package.json index 17f62c0..11c02e3 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -14,11 +14,15 @@ "@selfxyz/common": "^0.0.7", "@selfxyz/core": "^1.0.8", "@selfxyz/qrcode": "^1.0.11", + "@tanstack/react-query": "^5.85.5", + "clsx": "^2.1.1", + "connectkit": "^1.9.1", "geist": "^1.4.2", "next": "14.2.30", "react": "^18", "react-dom": "^18", - "viem": "catalog:" + "viem": "catalog:", + "wagmi": "^2.16.6" }, "devDependencies": { "@eslint/eslintrc": "^3", diff --git a/packages/web/src/app/layout.tsx b/packages/web/src/app/layout.tsx index 7115267..7ddad27 100644 --- a/packages/web/src/app/layout.tsx +++ b/packages/web/src/app/layout.tsx @@ -1,13 +1,14 @@ import type { Metadata } from "next"; import { GeistSans, GeistMono } from "geist/font"; +import { Web3Provider } from "@/components/Web3Provider"; import "./globals.css"; const geistSans = GeistSans; const geistMono = GeistMono; export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "DHK dao Self Prototype", + description: "self-prototype", }; export default function RootLayout({ @@ -20,7 +21,9 @@ export default function RootLayout({
- {children} +