Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/candidelabs/Candide-Paymaster-RPC

Paymaster RPC endpoints for ERC-4337
https://github.com/candidelabs/Candide-Paymaster-RPC

Last synced: about 2 months ago
JSON representation

Paymaster RPC endpoints for ERC-4337

Lists

README

        


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
* eth-infinitism/account-abstraction
* Gnosis-py
* EIP-4337: Account Abstraction via Entry Point Contract specification