* Adding storybook * new layout components * add preview body * add styles * extract walletInfo to a separated component * remove unused component * New Layout componentes refactor * Return type in Root * change story name * adding back OpenHoc * sort import * fix margins * split layout * Move Layout related components to /components/SidebarLayout * Adding new layout for real * Some changes and refactor * Move Modals from safe to sidebar * move safeAddress logic from safe to sidebar * move safe container from components * List refactor * sidebar navigation * selected item * list selected example * add styles * add text component to new tx button * Sidebar without walletInfo * fix footer and body margins * add logo Safe Multisig * update safe-react-components * List colors and List Icon * fix subItem * update safe-react-components * fix logo margin, add notConnected icon and badge Read Only * fix merge problems * add sidebar styles and icon notConnected * fix readOnly * fix QR tooltip info * add Help Center link and fix margins * Remove 'No safe loaded' text * review changes * fix import * fix Help center margin * add styles to address * replace empty div with FlexSpacer component * rename Sidebar by SafeListSidebar * fix load and create safe position (top-left) * Add comment to FlexSpacer * fix Title margin Safe Creation Progress * fix Read Only line-height * review fixes * review fixes * rename component * fix Help Center styles * return type in DefaultBadge * Fix types for list component (still wip) * move sidebarList to a hook * fix safe route container * fix src version * fix list typescript issue * rename sidebarlayout to applayout * sidebar fixes wip * sidebar fixes wip * remove unused function * lift sidebar items state up * fix broken imports * remove unused files Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Gnosis Safe Multisig
The most trusted platform to store digital assets on Ethereum
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
What things you need to install the software and how to install them
yarn add truffle // recommended usage of -g flag
yarn add ganache-cli // recommended usage of -g flag
yarn add flow-type // recommended usage of -g flag
We use yarn in our infrastacture, so we decided to go with yarn in the README
Installing and running
A step by step series of examples that tell you have to get a development env running
Install dependencies for the project:
yarn install
For using the Rinkeby services:
yarn start
If you prefer using Mainnet ones:
yarn start-mainnet
Building
For Rinkeby:
yarn build
For Mainnet:
yarn build-mainnet
Running the tests
- Run
transaction-history-service
git clone https://github.com/gnosis/safe-transaction-service.git
cd safe-transaction-service
git checkout develop
docker-compose build
# it comes enabled by default in docker-compose
sudo service postgresql stop
docker-compose up -d
Check that the service is running at https://localhost:8000
- Migrate Safe Contracts:
git clone https://github.com/gnosis/safe-contracts.git
cd safe-contracts
yarn
npx truffle migrate
- Migrate Token Contracts for the tests:
Inside
safe-react
directory
npx truffle migrate
- Run the tests:
yarn test
Break down into end to end tests
Explain what these tests test and why
Give an example
And coding style tests
Explain what these tests test and why
Give an example
Deployment
Add additional notes about how to deploy this on a live system
Built With
- Truffle React Box - The web framework used
- Ganache - Fast Ethereum RPC client
- React - A JS library for building user interfaces
- Material UI 4.X - React components that implement Google's Material Design
- redux, immutable, reselect, final-form - React ecosystem libraries
- Flow - Static Type Checker
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Germán Martínez(germartinez)
- Mikhail Mikheev(mikheevm)
See the full list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Thanks for Gnosis Team for providing the Safe contracts.