/safe-client-gateway

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

Primary LanguageTypeScriptMIT LicenseMIT

Safe Client Gateway

Coverage Status

Motivation

The Safe Client Gateway serves as a bridge for the Safe{Wallet} clients (Android, iOS, Web).

It provides UI-oriented mappings and data structures for easier integration with several Safe{Core} services. In essence, it works as a bridge between the frontend and backend, ensuring smooth, efficient data exchange.

Documentation

Requirements

Installation

Optional: If you have NVM installed, you can run nvm use in the root folder of the project to use the recommended Node version set for this project.

We use Yarn as the package manager for this project. Yarn is bundled with the project so to use it run:

corepack enable && yarn install

Running the app

  1. Start Redis instance. By default, it will start on port 6379 of localhost.
docker compose up -d redis
  1. Start the Safe Client Gateway
# development
yarn run start

# watch mode
yarn run start:dev

# production mode
yarn run start:prod

Test

# unit tests
yarn run test

# e2e tests
yarn run test:e2e

# test coverage
yarn run test:cov

Linter and Style Guide

We use ESLint as a linter and Prettier as a code formatter. You can run yarn run lint to execute ESLint and yarn run format to execute Prettier.

These checks can be automatically executed using Git hooks. If you wish to install the provided git hooks:

yarn install
yarn husky install