Giter Club home page Giter Club logo

safe-client-gateway's Introduction

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

The project requires some ABIs that are generated after install. In order to manually generate them, run:

yarn generate-abis

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

The unit test suite contains tests that require a database connection. This project provides a db-test container which also validates the support for SSL connections. To start the container, make sure that the key for the self-signed certificate has the right permissions.

# disallow any access to world or group
chmod 0600 db_config/test/server.key

With the right permissions set on the server.key file we can now start the db-test container:

# start the db-test container
docker compose up -d db-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

safe-client-gateway's People

Contributors

fmrsabino avatar dependabot[bot] avatar hectorgomezv avatar iamacook avatar moisses89 avatar katspaugh avatar usame-algan avatar schmanu avatar uxio0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.