Skip to content

Danishlynx/Proxy_SmartWallet_with_Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Wallet Contracts

Live Link: https://proxy-smart-wallet-with-frontend.vercel.app/

Overview

This project contains Solidity smart contracts for a Smart Wallet system. It includes a SmartWallet contract that allows users to manage their funds securely and a SmartWalletProxy contract for creating and managing individual SmartWallet instances per user.

Features

  • Proxy contract to manage the creation and destruction of smart wallet contracts.
  • logic to ensure that each user gets a unique smart wallet contract address.
  • A smart wallet contract that can delegate calls to other contracts like an EOA (Externally Owned Account).
  • The smart wallet contract has the functionality to interact with other contracts, send and receive funds.
  • the proxy contract can destroy a specific user's smart wallet contract and allow redeployment upon user request.
  • Implemented functions to facilitate user interaction with the smart contracts through MetaMask

License

This project is licensed under the MIT License.

Installation Guide

Prerequisites

  • Node.js
  • npm or yarn

Setting up the Environment

  1. Clone the repository:
git clone https://github.com/Danishlynx/Proxy-SmartWallet_contract_factory

  1. Install dependencies:

cd [project-directory]

npm install
  1. Set up environment variables by creating a .env file in the root directory with the following contents:
ALCHEMY_API_KEY=xxxxxxxxxxxxxxx
PRIVATE_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
POLYGONSCAN_API_KEY=xxxxxxxxxxxxxxxxxxxxxx

Compiling Contracts

Run the following command to compile the smart contracts: npx hardhat compile

Usage Guide

Deploying Contracts

To deploy the SmartWalletProxy contract, run:

npx hardhat run scripts/deploy.js --network [network-name]

contract deployment address will be displayed

plase that address in the app.js, where the contract address is required.

npm start

Deployment Images: Screenshot 2024-02-14 203259

Screenshot 2024-02-14 191526

Screenshot 2024-02-14 191501

Screenshot 2024-02-14 191456

Screenshot 2024-02-14 191447

Screenshot 2024-02-14 191406

Screenshot 2024-02-14 191332

Screenshot 2024-02-14 191308

1 (7)

Screenshot 2024-02-14 191125

Screenshot 2024-02-14 191115

Screenshot 2024-02-14 191107

Screenshot 2024-02-14 191052

Releases

No releases published

Packages

 
 
 

Contributors