This project contains apps developed by Gnosis to be consumed by Gnosis Safe.
yarn install
Configure your .env
file starting from .env.example
one. You will find the necessary example on each app folder. Fill the provided example values with the necessary information. Don't forget to add your infura API key.
If no example file is provided inside the app folder the .env
file is not needed.
We use yarn workspaces to handle different apps inside this project. All apps are built with this command:
yarn build
You can also run each app locally using the following commands:
yarn start:compound
yarn start:drain-safe
yarn start:ramp
yarn start:tx-builder
yarn start:wallet-connect
This project contains some test contracts to check all solidity types in the tx-builder Safe App.
You can deploy your own tests contracts using the following command:
yarn workspace tx-builder contract:deploy-all <network>
you can invoke a read method using the command line:
yarn workspace tx-builder contract:read-method --network <network> --address <address> --method <method>
In ./apps
you can find one folder per each integration app Gnosis develops.
Also, each app must expose a manifest.json
in order to be accepted by Gnosis Safe, you can find it in their ./public
folder. Besides the manifest.json
file we also include the app Icon.
This will allow the Gnosis Safe to consume these resources like so: https://apps.gnosis-safe.io/tx-builder/manifest.json
Documentation about how to develop and integrate your third-party app can be found here.
Inside each app folder you can find a config-overrides.js
that shows how to modify headers with the next information. This is necessary for your app to work properly.
headers: {
"Access-Control-Allow-Origin": "\*",
"Access-Control-Allow-Methods": "GET",
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
},
These apps are deployed in the following environments.
-
When the code is merged into
development
: https://safe-apps.dev.gnosisdev.comCompound | Drain Account | Ramp Network | Transaction Builder | WalletConnect
-
When the code is merged into
main
: https://safe-apps.staging.gnosisdev.comCompound | Drain Account | Ramp Network | Transaction Builder | WalletConnect
-
When the code is released: https://apps.gnosis-safe.io
Compound | Drain Account | Ramp Network | Transaction Builder | WalletConnect
This repo provides e2e tests using cypress. Ideally to be used on CI can also be handy to check locally that everything works as expected.
To run them it will be necessary to provide the following ENV parameters, that can be filled in a .env
file at the root of the project
Example:
CYPRESS_BASE_URL=https://gnosis-safe.io/app
CYPRESS_NETWORK_PREFIX=rin
CYPRESS_TESTING_SAFE_ADDRESS=0x0000000000000000000000000000000000000000
CYPRESS_CONFIG_SERVICE_BASE_URL=https://safe-client.gnosis.io
Make sure to enter the desired values, for example a Safe address that you own
This project is licensed under the MIT License - see the LICENSE.md file for details