Skip to content

candidelabs/Candide-Paymaster-RPC

Repository files navigation

Check out Voltaire for Account Abstraction paymaster- ERC-4337



Candide Wallet Relayer and Paymaster RPC

About

Candide Wallet is a smart contract wallet for Ethereum Mainnet and EVM compatible rollups.
This repo includes the paymaster RPC service.

Features

  • a paymaster RPC that approves and signs operation to allow for gas sponsoship and paying gas with ERC-20 tokens.
  • admin control panel to view processed operations

How to use this repo

Create a virtual environment

python3 -m venv .venv

Run virtual environment (linux)

source .venv/bin/activate

Install required libs

pip install -r requirements.txt

Setup the database

python manage.py makemigrations paymaster
python manage.py migrate
python manage.py loaddata paymaster/tokenSeed.json

Change .env variables if needed

the defaults work with the CandideWalletContracts repo for testing

Create Super user for admin panel

python manage.py createsuperuser

Run the server with default os.environ

python manage.py runserver

Run the server with a custom os.environ

python3 manage.py runserver --port 1337 --chainId 10 --HTTPProvider http://localhost:8545

Access the control panel

http://127.0.0.1:8000/admin/

Using Docker:

docker compose up -d

TODO

  • Gas limit calculation and verification (paymaster)
  • Fetching live token prices and verifying source wallets balance (paymaster)
  • Adding white list and black list for source wallets (paymaster)

License

MIT

Acknowledgments