safe-react/readme.md

133 lines
3.1 KiB
Markdown
Raw Normal View History

2018-03-12 10:26:53 +00:00
# Gnosis Team Safe
2019-10-18 12:01:38 +00:00
The most secure way to manage your crypto funds collectively
2018-03-12 10:26:53 +00:00
## 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
```
2019-04-12 14:41:47 +00:00
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
2018-03-12 10:26:53 +00:00
```
2019-04-12 14:41:47 +00:00
We use [yarn](https://yarnpkg.com) in our infrastacture, so we decided to go with yarn in the README
2019-09-25 11:15:45 +00:00
### Installing and running
2018-03-12 10:26:53 +00:00
A step by step series of examples that tell you have to get a development env running
2019-10-02 12:14:45 +00:00
Install dependencies for the project:
2018-03-12 10:26:53 +00:00
```
2019-04-12 14:41:47 +00:00
yarn install
2019-09-30 06:56:37 +00:00
```
2019-10-02 12:14:45 +00:00
For using the Rinkeby services:
2019-09-30 06:56:37 +00:00
```
2019-04-12 14:41:47 +00:00
yarn start
2018-03-12 10:26:53 +00:00
```
2019-10-02 12:14:45 +00:00
If you prefer using Mainnet ones:
2019-09-24 13:49:01 +00:00
```
2019-09-30 06:56:37 +00:00
yarn start-mainnet
2019-09-24 13:49:01 +00:00
```
2019-09-25 11:15:45 +00:00
### Building
2019-09-30 06:56:37 +00:00
For Rinkeby:
2019-09-25 11:15:45 +00:00
```
yarn build
```
2019-09-30 06:56:37 +00:00
For Mainnet:
2019-09-25 11:15:45 +00:00
```
2019-09-30 06:56:37 +00:00
yarn build-mainnet
2019-09-25 11:15:45 +00:00
```
2018-03-12 10:26:53 +00:00
## Running the tests
2019-07-20 17:45:17 +00:00
1. Run `transaction-history-service`
```
git clone https://github.com/gnosis/safe-transaction-service.git
cd safe-transaction-history
git checkout develop
docker-compose build
docker-compose up -d
```
Check that the service is running at https://localhost:8000
2019-07-20 17:45:17 +00:00
2. Migrate Safe Contracts:
```
git clone https://github.com/gnosis/safe-contracts.git
cd safe-contracts
yarn
npx truffle migrate
```
2019-07-20 17:45:17 +00:00
3. Migrate Token Contracts for the tests:
Inside `safe-react` directory
```
npx truffle migrate
```
4. Run the tests:
2018-03-12 10:26:53 +00:00
```
2019-04-12 14:41:47 +00:00
yarn test
2018-03-12 10:26:53 +00:00
```
### 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](https://github.com/truffle-box/react-box) - The web framework used
* [Ganache](https://github.com/trufflesuite/ganache-cli) - Fast Ethereum RPC client
* [React](https://reactjs.org/) - A JS library for building user interfaces
* [Material UI 1.X](https://material-ui-next.com/) - React components that implement Google's Material Design
* [redux, immutable, reselect, final-form](https://redux.js.org/) - React ecosystem libraries
Development to master (#328) * Adds cookie permissions to localStorage/redux state * Adds action * Adds files to git * (fix) linting issues * (update) flow-typed * (update) .eslint and .flowconfig * (add) cookie banner * Finish cookie banner implementation * (Add) checkbox's disabled style. * Removes redux for cookiesStorage * Fix cookieStore deletion * Fixs cookies acceptance * Fixs cookies banner verbiage Fix "x" in wrong place for snackbar messages * (remove) unused library * Adds cookies utils Replaces localStorage with cookies Adds js-cookie * (fix) added correct polished library and import, updated flow-typed * (update) removed polish flow type, added js-cookie flow type * Add link to cookie policy, use generic links for legal docs * Remove link to cookie policy from sidebar, link cookie policy in the banner * Let the user re-open the cookie banner * remove withMutations from cookies reducer, move utils/cookies to logic/cookies * Now the sidebar closes when the cookie banner is toggled * Feature #169: Intercom (#301) * Implements intercom Adds REACT_APP_INTERCOM_ID_MAINNET and REACT_APP_INTERCOM_ID_RINKEBY env vars * Adds .env.example * Adds intercom env vars * Updates env vars Replaces "rinkeby" and "mainnet" with "non-production" and "production" * Now loads intercom after the user accepted the analytics * Add env variable for production intercom id * Update .env.example * Removes react-intercom Fixs getIntercomId with default dev appID Now loads intercom as script * Renegerate flow-types * Remove 'Hide zero balances' (#310) * Use medium font size for 'select an asset' label (#312) * Feature #272: Google Analytics (#299) * Adds google analytics tracking for every route * Adds cookies acceptance check before tracking * Fix react-ga dependency * Fix cookieStore deletion * Merge with #189-cookie-banner * Fixs react ga version Refactored HOC with hooks * Fix TYPO * Fix path for cookies utils * Fix imports * remove flow type definition for polish * Add GA ID log * Fix load GA After cookies acceptance * Feature #224: Activate tokens automatically (#300) * Replace 'Manage Tokens' with 'Manage List' * prevent 301 redirects * Add `BLACKLISTED_TOKENS` key to persist through immortal * Add store/action to extract _activate tokens by its balance_ - keeps already activated tokens - discards blacklisted tokens - adds tokens whose vales are bigger than zero and are not blacklisted * Add `blacklistedTokens` list to safe's store * Display activeTokensByBalance in 'Balances' screen * Enable token's blacklisting functionality in Tokens List * Retrieve balance from API * Rename action to `activateTokensByBalance` * Fix linting errors - line too long - required return * Do not persist a separate list into `BLACKLISTED_TOKENS` * Typo fix (#326) * Fix security vulnerability: Remove uglifyjs, use terser plugin (#327) * Remove uglifyjs, use terser plugin * fix css-loader config
2019-12-09 12:31:05 +00:00
* [Flow](https://flow.org/) - Static Type Checker
2018-03-12 10:26:53 +00:00
## Contributing
Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/gnosis/gnosis-team-safe/tags).
## Authors
2019-10-02 12:14:45 +00:00
- Germán Martínez([germartinez](https://github.com/germartinez))
- Mikhail Mikheev([mikheevm](https://github.com/mikheevm))
See the full list of [contributors](https://github.com/gnosis/gnosis-team-safe/contributors) who participated in this project.
2018-03-12 10:26:53 +00:00
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Acknowledgments
* Thanks for Gnosis Team for providing the Safe contracts.