Gnosis Safe – The most trusted platform to store digital assets on Ethereum https://gnosis-safe.io
Go to file
Agustin Pane c73dafe3ce
Feature: #528 optimize network requests (#680)
* Generates a cache to avoid multiples getHumanFriendlyToken() for the same token address

* Adds etags implementation for transactions

* Caches outgoing and incoming safe transactions based on etag value

* Removes cachedSafeTransactions, cachedSafeIncommingTransactions

* Refactors getTokenInstance

* Avoid recreating tokens on fetchTokens() once we have them in redux

* Fixs error on catch

* Batch request tokens balances

* Fixs missing token names
Changes the tokens limit from 300 to 3000

* fix: failed to instantiate non-standard ERC-20 tokens

For the batchRequest of balances, we're just using the `balanceOf` method call. So having a simple ABI with that only method prevents errors with non-standard ERC-20 Tokens.

* Removes unnecessary action updateSafeThreshold
Removes unnecessary action fetchEtherBalance

* Updated comments in code
Replaces constant with directly dispatching action

* BatchRequest done right

* fix: invalid action name `savedToken` -> `saveToken`

* Renames getTokenInstance to getTokenInfos
Fixs first load of transactions are empty

* Move fetchTokenBalances to `Balances` and `SendModal` components

* fix: Incoming transaction type

Backend now changed the type from 'incoming' to one of: `'ERC721_TRANSFER', 'ERC20_TRANSFER', 'ETHER_TRANSFER'`

* fix: tokenInstance `symbol` and `decimal` extraction

* Fix property name `decimals` instead of `tokenDecimals`

* Standardize non-standard ERC20 tokens discovery

* fix: isStandardERC20

* Revert "Move fetchTokenBalances to `Balances` and `SendModal` components"

This reverts commit ed84bd92

* Fixs Typo INCOMING_TX_TYPES
Renames tokenInstance with localToken

* Renames getBatchBalances to getTokenBalances
Returns saved tokens instead of tokenInstance in getTokenInfos

* Remove promise returns

Co-authored-by: fernandomg <fernando.greco@gmail.com>
2020-03-30 13:14:04 -03:00
.github/ISSUE_TEMPLATE Feature: Add bug-report template (#372) 2020-01-16 23:10:13 +01:00
config Merge branch 'master' of github.com:gnosis/safe-react into development 2020-03-11 16:49:33 +04:00
contracts Add test case for sending token with 6 decimals, wrap moveFunds helper fireEvent in act() 2019-10-14 17:13:15 +04:00
flow-typed/npm (Feature) erc721 feature implementation (#570) 2020-03-18 17:24:24 -03:00
migrations send funds test refacotring wip 2019-05-31 19:22:05 +04:00
public (Fix) Basic mobile responsiveness (#532) 2020-02-06 12:40:29 -03:00
scripts Development (#378) 2019-12-18 13:35:03 +01:00
src Feature: #528 optimize network requests (#680) 2020-03-30 13:14:04 -03:00
.env.example Development (#378) 2019-12-18 13:35:03 +01:00
.eslintignore (Fix) Enforce linting and formatting (#564) 2020-02-17 19:20:43 -03:00
.eslintrc (add) linter sorting rules (#614) 2020-02-28 10:58:40 +01:00
.flowconfig Development (#355) 2019-12-16 17:04:42 +04:00
.gitignore #386: Addressbook transaction details (#407) 2020-01-15 16:12:17 +04:00
.nvmrc (Fix) Enforce linting and formatting (#564) 2020-02-17 19:20:43 -03:00
.prettierignore (Fix) Enforce linting and formatting (#564) 2020-02-17 19:20:43 -03:00
.prettierrc (Fix) Enforce linting and formatting (#564) 2020-02-17 19:20:43 -03:00
.travis.yml Sync master dev (#656) 2020-03-11 14:23:16 +04:00
LICENSE.md Adding README and LICENSE (#7) 2018-03-12 11:26:53 +01:00
babel.config.js safe creation test wip 2019-05-29 18:11:44 +04:00
jest.config.js remove cleanup-after-each 2019-08-15 18:50:15 +04:00
jsconfig.json WA-238 Added contracts after migrated to Kovan and Rinkeby 2018-05-04 12:50:24 +02:00
package.json Bump 1.5.0 version of onboardjs 2020-03-27 15:18:01 -03:00
readme.md Update readme (#696) 2020-03-27 13:53:20 +04:00
truffle.js add token contracts for testing purposes and refactor TokenMovements utils 2019-05-31 17:58:35 +04:00
yarn.lock Bump 1.5.0 version of onboardjs 2020-03-27 15:18:01 -03:00

readme.md

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

  1. 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

  1. Migrate Safe Contracts:
git clone https://github.com/gnosis/safe-contracts.git
cd safe-contracts
yarn
npx truffle migrate
  1. Migrate Token Contracts for the tests: Inside safe-react directory
npx truffle migrate
  1. 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

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

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.