* feat: Support for Volta and EWC * chore: Store network ID in the ETHEREUM_NETWORK enum itself * chore: forward tx and address to non-etherscan explorers * fix test, avoid assigning enum to const * (Feature) [xDai] - Create network-based configurations (#1420) Co-authored-by: Matias Dastugue <matias.dastugue@altoros.com> Co-authored-by: Mati Dastugue <mdastugu@amazon.com> * (Feature) [xDai] Use generic config (#1422) Co-authored-by: Matias Dastugue <matias.dastugue@altoros.com> Co-authored-by: Mati Dastugue <mdastugu@amazon.com> * fix function name after merge development * (Feature) [xDai] - Contract interaction abi lookup (#1429) * Filter Apps by network (#1433) * Filter apps by network * (Feature) [xDai] - Parametrize ethscan values (#1424) * (Feature) [xDai] - Use parametrized network values (#1437) Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * (Feature) [xDai] - Use tx service for loading token info (#1435) Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * (Feature) [xDai] - Visually differentiate networks (#1431) Co-authored-by: fernandomg <fernando.greco@gmail.com> Co-authored-by: Agustin Pane <agustin.pane@gmail.com> * (Feature) [xDai] - Cosmetic fixes (#1449) * Add staging configuration for deployment using xDai (#1459) * Add staging xDai deployment to travis * Add safe apps production url for xdai * Add travis rule to build xDai on master or integration branch * (Bugfix) Set min height to ListContentLayout wrapper #1447 (#1451) * fix min-height app container and margin to info text at bottom * change css unit from % to vh Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> * disable OpenZepplin in xDai (#1465) * remove any in config/index.ts (#1462) * [xDai] Parametrize Native Coin (#1444) * fix `generateBatchRequest` calls * Fix some ETH harcoded values + Add tests * Fix null or undefined value * Move nativeCoin outside component + fix toTokenInput function * Remove native coin from useEffect Co-authored-by: fernandomg <fernando.greco@gmail.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * (Feature) [xDai] - Disable safe sections based on network config (#1468) * Adds FEATURES enum Renames features to disabledFeatures * Uses FEATURES enum instead of hard-coded contract features * Refactor enabledFeatures function, now checks that there are not disabled features by config before return the enabledFeatures result * Adds SAFE_APPS and CONTRACT_INTERACTION to FEATURES enum * Remove SAFE_APPS from sidebar if disabled * Redirect user from /apps if safe apps are disabled * Disables contract interaction from config * Remove !remoteOwners * Move settings to a constant * Deploy from xDai integration branch only to xDai staging * Fix .travis.yml warnings * Update branch and condition for staging deployment * Update xDai depoy condition * (Feature) [xDai] - Fetch collectibles from Gnosis services (#1460) * Add https to safe-xdai apps link * make getExplorerInfo return values per network (#1470) * (Fix) "Approve transaction" modal closes (#1477) * add equality function to prevent re-renders - I left the inline equalityFn, as an ad-hoc solution. First, because we're going to remove this when https://github.com/gnosis/safe-react/issues/1479 is done Second, because this way it infers the types defined in the useSelector generics * (Fix) xDai feature issues (#1484) Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> * RPC interactions errors (#1475) * Add options to httpProvider * Add log when generateatchRequest fails * add types to generateBarchRequest * fix types in `generateBatchRequests` * add `.d` for imports of definition files * add `undefined` alternative value for `generateBatchRequests` ReturnValues - also, fixed typing errors in related functions * fix return values for `generateBatchRequests` in tests Co-authored-by: fernandomg <fernando.greco@gmail.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * (Feature) xDai configs (#1489) * (Feature) - Replaces ETH with network native coin (#1491) * Remove networkInfo from the components * Replaces humanReadableValue to fromTokenUnit Co-authored-by: JosephBagaric <bagaricjos@gmail.com> Co-authored-by: Matias Dastugue <matias.dastugue@altoros.com> Co-authored-by: Mati Dastugue <mdastugu@amazon.com> Co-authored-by: Agustin Pane <agustin.pane@gmail.com> Co-authored-by: nicolas <nicosampler@users.noreply.github.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> 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.