{"id":30344487,"url":"https://github.com/delneg/ethglobal-cannes-front","last_synced_at":"2026-05-18T19:42:08.438Z","repository":{"id":303173994,"uuid":"1014185819","full_name":"delneg/ethglobal-cannes-front","owner":"delneg","description":"Revix - EIP-7702 Recovery via ZK Passport, powered by Privy and Self Protocol","archived":false,"fork":false,"pushed_at":"2025-07-21T12:35:48.000Z","size":841,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-21T13:31:02.847Z","etag":null,"topics":["cannes","eip-7702","ethereum","ethglobal","ethglobal25","privy","zkpassport","zkproof"],"latest_commit_sha":null,"homepage":"https://ethglobal-cannes-front.pages.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delneg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T08:05:59.000Z","updated_at":"2025-07-21T12:35:52.000Z","dependencies_parsed_at":"2025-07-06T06:31:28.890Z","dependency_job_id":"2c207d9e-b53f-47e0-add9-87631f1ad768","html_url":"https://github.com/delneg/ethglobal-cannes-front","commit_stats":null,"previous_names":["delneg/ethglobal-cannes-front"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/delneg/ethglobal-cannes-front","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delneg%2Fethglobal-cannes-front","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delneg%2Fethglobal-cannes-front/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delneg%2Fethglobal-cannes-front/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delneg%2Fethglobal-cannes-front/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delneg","download_url":"https://codeload.github.com/delneg/ethglobal-cannes-front/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delneg%2Fethglobal-cannes-front/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270996245,"owners_count":24681933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cannes","eip-7702","ethereum","ethglobal","ethglobal25","privy","zkpassport","zkproof"],"created_at":"2025-08-18T12:42:30.973Z","updated_at":"2026-05-18T19:42:08.404Z","avatar_url":"https://github.com/delneg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Revix. Where ZK Passport meets 7702\n\n## Overview\n\nThis project was built for EthGlobal Cannes Hackathon 2025. This project combines EIP-7702 and Passport proofs to enable the recovery of a lost wallet using your passport. \n\nThe user begins by converting their EOA (Externally Owned Account) into a Smart Account. This is done by attaching a specific contract connected to Self Protocol, which gathers data about the passport holder and a unique application identifier. This identifier will be used later to identify the user. The user completes this step by connecting their embedded wallet on our frontend.\n\n\nNext, they need to scan a QR code generated by Self Protocol to bind their passport identifier to their EIP-7702. Once the passport is bound, if the user loses access to their previous wallet, they can initiate the recovery process. During this process, the user must prove ownership of the passport that was bonded to the account. \n\nIf successful, a new signer is attached to the account, allowing them to withdraw funds from the old address.\n\n## Deployment\n\nApp was deployed to Cloudflare Pages and accessible at https://ethglobal-cannes-front.pages.dev/. \n\nTestnet contracts:\n* Implementation: 0xd12aa0422f014857c9be97f608e2ac035b251d47\n\nMainnet contracts:\n* Implementation: 0x7cb5cd4620ce1a9fc8f7fa5307c7602f850a4cd1\n\n## Build\n\n### Build contracts\n\nRevix contracts are located at `/contracts`. To build them, install dependencies first:\n```\nbun install\n# or\nnpm install \n```\n\nThen you can compile contracts:\n```\nnpx hardhat compile\n```\n\n### Build frontend\n\n#### Setup env vars\n\nBefore building and running app, create `.env` file, which should contain the following variables:\n```\nVITE_IMPLEMENTATION_ADDRESS=0xd12aa0422f014857c9be97f608e2ac035b251d47\nVITE_PK_BENEFICIARY=\n```\nWhere `VITE_PK_BENEFICIARY` is private key for benificiary (works in current version as mocked paymaster), `VITE_BENEFICIARY_ADDRESS` is beneficiary address which will be used to recover funds \n\n#### Build\n\nTo build frontend code, install dependencies:\n```\nbun install\n```\n\nThen build app:\n```\nbun run build\n# or\nnpm run build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelneg%2Fethglobal-cannes-front","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelneg%2Fethglobal-cannes-front","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelneg%2Fethglobal-cannes-front/lists"}