Warning: All code in this repo has not been audited and should be before use in production.
client/: the commbank.eth web app deployed tohttps://commbank.eth.limocontracts/: the EVM smart contracts required to facilitate Private Unstoppable Moneycircuits/: Private Unstoppable Money Zero Knowledge circuitsindexer/: a data indexer used to cache Private Unstoppable Money transactions more efficientlyrelayer/: an expressJS based backend that forwards RPC requests and works as a transaction relayer
To install dependencies:
pnpm install
To start both the indexer and client from root:
pnpm run dev
This will:
- Start the indexer at
indexer/(envio dev) - Start the client at
client/(vite dev server) - Set the environment variable
VITE_RUNNING_LOCAL_INDEXER=truefor the client
To run just the client without the indexer:
cd client
pnpm run dev
The indexer uses Envio and requires dependencies to be installed in the generated folder. If you encounter errors about missing packages (like rescript-envsafe or ts-node), run:
cd indexer/generated
pnpm install --ignore-workspace
cd ../..
Then run codegen to generate the indexer code:
cd indexer
pnpm run codegen
AUTH.md describes how notes are currently implemented in the private transfer model
ngrok is handy for mobile testing
ngrok http http://localhost:5173
creates a tunnel that you can use passkey on for development. Can be a bit of a pain without static domains though, as you have to add the tunnel site to vite.config.ts.