Live Link: https://proxy-smart-wallet-with-frontend.vercel.app/
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.
- 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
This project is licensed under the MIT License.
- Node.js
- npm or yarn
- Clone the repository:
git clone https://github.com/Danishlynx/Proxy-SmartWallet_contract_factory
- Install dependencies:
cd [project-directory]
npm install
- Set up environment variables by creating a
.envfile in the root directory with the following contents:
ALCHEMY_API_KEY=xxxxxxxxxxxxxxx
PRIVATE_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
POLYGONSCAN_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
Run the following command to compile the smart contracts: npx hardhat compile
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












