• Stars
    star
    352
  • Rank 120,622 (Top 3 %)
  • Language
    TypeScript
  • License
    GNU General Publi...
  • Created over 2 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Safe{Wallet} – multisig EVM wallet

Safe{Wallet}

License Tests GitHub package.json version (branch) GitPOAP Badge

The default Safe web interface.

Contributing

Contributions, be it a bug report or a pull request, are very welcome. Please check our contribution guidelines beforehand.

Getting started with local development

Environment variables

Create a .env file with environment variables. You can use the .env.example file as a reference.

Here's the list of all the required and optional variables:

Env variable Description
NEXT_PUBLIC_INFURA_TOKEN required Infura RPC API token
NEXT_PUBLIC_SAFE_APPS_INFURA_TOKEN optional Infura token for Safe Apps, falls back to NEXT_PUBLIC_INFURA_TOKEN
NEXT_PUBLIC_IS_PRODUCTION optional Set to true to build a minified production app
NEXT_PUBLIC_GATEWAY_URL_PRODUCTION optional The base URL for the Safe Client Gateway
NEXT_PUBLIC_GATEWAY_URL_STAGING optional The base CGW URL on staging
NEXT_PUBLIC_SAFE_VERSION optional The latest version of the Safe contract, defaults to 1.3.0
NEXT_PUBLIC_WC_BRIDGE optional WalletConnect v1 bridge URL, falls back to the public WC bridge
NEXT_PUBLIC_WC_PROJECT_ID optional WalletConnect v2 project ID
NEXT_PUBLIC_TENDERLY_ORG_NAME optional Tenderly org name for Transaction Simulation
NEXT_PUBLIC_TENDERLY_PROJECT_NAME optional Tenderly project name
NEXT_PUBLIC_TENDERLY_SIMULATE_ENDPOINT_URL optional Tenderly simulation URL
NEXT_PUBLIC_BEAMER_ID optional Beamer is a news feed for in-app announcements
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID optional GTM project id
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_DEVELOPMENT_AUTH optional Dev GTM key
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LATEST_AUTH optional Preview GTM key
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LIVE_AUTH optional Production GTM key
NEXT_PUBLIC_SENTRY_DSN optional Sentry id for tracking runtime errors
NEXT_PUBLIC_SAFE_GELATO_RELAY_SERVICE_URL_PRODUCTION optional Safe Gelato Relay Service URL to allow relaying transactions via Gelato
NEXT_PUBLIC_SAFE_GELATO_RELAY_SERVICE_URL_STAGING optional Relay URL on staging
NEXT_PUBLIC_IS_OFFICIAL_HOST optional Whether it's the official distribution of the app, or a fork; has legal implications. Set to true only if you also update the legal pages like Imprint and Terms of use
NEXT_PUBLIC_REDEFINE_API optional Redefine API base URL

If you don't provide some of the optional vars, the corresponding features will be disabled in the UI.

Running the app locally

Install the dependencies:

yarn

Run the development server:

yarn start

Open http://localhost:3000 with your browser to see the app.

Lint

ESLint:

yarn lint --fix

Prettier:

yarn prettier

Tests

Unit tests:

yarn test --watch

Cypress tests

Build and generarate a static site:

yarn build && yarn export

Serve the static files:

yarn serve

Launch the Cypress UI:

yarn cypress:open

You can then choose which e2e tests to run.

Component template

To create a new component from a template:

yarn cmp MyNewComponent

Frameworks

This app is built using the following frameworks:

More Repositories

1

safe-smart-account

Safe allows secure management of blockchain assets.
TypeScript
1,827
star
2

safe-apps-sdk

Client-side SDKs to create third-party Safe Apps
TypeScript
205
star
3

safe-core-sdk

The Safe{Core} Account Abstraction SDK allows builders to add account abstraction functionality into their apps.
TypeScript
202
star
4

safe-transaction-service

Keeps track of transactions sent via Safe contacts and confirmed transactions. It also keeps track of Ether and ERC20 token transfers to Safe contracts.
Python
184
star
5

safe-modules

A collection of modules that can be used with the Safe contract
TypeScript
140
star
6

safe-cli

Command line utility for Gnosis Safe
Python
138
star
7

safe-deployments

A collection of Safe singleton deployments
TypeScript
131
star
8

safe-eth-py

Safe-eth-py includes a set of libraries to work with Ethereum and relevant Ethereum projects
Python
118
star
9

safe-ios

Safe Multisig iOS app.
Swift
114
star
10

safe-react-apps

A repository for applications for Safe Web Interface
TypeScript
99
star
11

safe-android

🔐 App to manage and interact with Safe
Kotlin
90
star
12

safe-singleton-factory

Singleton factory used by Safe related contracts
TypeScript
77
star
13

safe-docs

Developer Docs for building on Safe.
MDX
51
star
14

safe-react-components

Gnosis Safe component library
TypeScript
35
star
15

safe-user-allocation-reports

Python
34
star
16

account-abstraction-sdk

TypeScript
31
star
17

safe-config-service

The safe-config-service is a service that provides configuration information in the context of the Safe clients environment
Python
31
star
18

safe-client-gateway

Serves as a bridge for the Safe{Wallet} clients (Android, iOS, Web)
TypeScript
23
star
19

safe-gateway-typescript-sdk

Safe Gateway TypeScript SDK
TypeScript
20
star
20

safe-token

TypeScript
19
star
21

safe-infrastructure

One `docker-compose.yml` file to rule them all
Shell
19
star
22

safe-modules-deployments

This repo contains a collection of deployments of audited contracts from the Safe modules repository.
TypeScript
9
star
23

safe-ecosystem-database

Safe ecosystem database
HTML
6
star
24

safe-homepage

Safe homepage
TypeScript
6
star
25

safe-gelato-relay-service

The Safe Gelato Relay Service is a web service which allows relaying transactions via the Gelato Relay Service.
TypeScript
6
star
26

safe-services-status

📈 Uptime monitor and status page for Safe, powered by @upptime
Markdown
5
star
27

claiming-app-data

Vesting data converter and proofs generator.
Python
5
star
28

safe-dao-governance-app

The portal to Safe{DAO} governance, voting power delegation and allocation claiming.
TypeScript
3
star
29

safe-pm

Production coordination for the Safe team primarily focused on Problems that need to be solved
2
star
30

safe-locking

Safe Token Locking Contracts
TypeScript
2
star
31

safe-guardians-page

This page is dedicated to the Safe Guardians program, a program designed to reward active members of the Safe community, who use their powers to contribute positively to the ecosystem.
TypeScript
2
star
32

safecon-landing-page

Safe{Con} landing page
CSS
1
star
33

cla-signatures

CLA signatures repository
1
star
34

token-list

This repo contain the Safe default token list. This list contains tokens which appear by default in the Safe wallet interface and are not part of the imported default token lists.
Shell
1
star