No Backend Safe solution
After you have entered with your wallet and selected a network, you can import or create a new Safe account. To do this, just click on the "Add / Import Account" button, then recheck the network on which you want to create a Safe. Then add owners of the Safe as well as the threshold quantity of signers required to send any transaction on a Safe. After confirming, your contract will be deployed and set up as active.
When you have an active account, you can create a new transaction. For this, you can click on the "New Transaction" button in the sidebar. Then fill out the form with the transaction data and click the "Next" button. After that, you can sign the transaction and then copy the link to send it to the new owners. After the threshold is passed, the transaction can be executed (by any owner, just share a link with signatures to the chosen one). If the transaction is executed correctly, the sign/execute buttons will say: "Deployed Successfully."
Contributions, be it a bug report or a pull request, are very welcome.
Create a .env
file with environment variables. You can use the .env.example
file as a reference.
Here's the list of all the environment variables:
Env variable | Description |
---|---|
NEXT_PUBLIC_WC_PROJECT_ID |
WalletConnect v2 project ID |
NEXT_PUBLIC_GLOBAL_SAFE_URL |
Optionally, url to fetch safe accounts on your chain |
Fetching safes only one placec where API used, only for convenience testing, you can fetch safes manually
Install the dependencies:
npm i
Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the app.
ESLint:
yarn lint --fix
npm run build
npm run start
This repo has a pre-commit hook that runs the linter (always)
before pushing. If you want to skip the hooks, you can use the --no-verify
flag.
This app is built using the following frameworks:
- Safe Core SDK
- Safe Gateway SDK
- Next.js
- React
- Zustand
- MUI
- ethers.js
- @web3modal
- @walletconnect/core
- @walletconnect/web3wallet