Gnosis Safe – The most trusted platform to store digital assets on Ethereum https://gnosis-safe.io
Go to file
Fernando f74861db50
Rebase master into development (#647)
* v1.7.3 (#611)

* Fix #597: USD value not load (#609)

* Converts all the addresses to checksum values

* Fix for empty address

* fix the order of transactions, change updateSafe to upgradeSafe to avoid naming confusion with the updateSafe action (#610)

* Fix #596: Notification when safe is already updated (#599)

* Fix notification of update if the safe is already updated

* Makes the notification clickable
Displays the notification for owners only

* Identify upgrade tx

* Add red badge to Settings tab

* Fixs Padding
Removes the red dot if the user is not an owner

Co-authored-by: Fernando <fernando.greco@gmail.com>

Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>

* Update package.json (#612)

* Add public url to prod webpack config (#615)

* add public url to prod webpack config

* modify travis/webpack config to add public url

* add slash

* cherry pick new travis yml merge commit (#620)

* V1.7.5 release (#641)

* use hash history

* update package json

* BUG: App index.html cached on production (#642)

* remove caching for webapp index.html

* keep --delete flag

* Fix #596: Notification when safe is already updated (#599)

* Fix notification of update if the safe is already updated

* Makes the notification clickable
Displays the notification for owners only

* Identify upgrade tx

* Add red badge to Settings tab

* Fixs Padding
Removes the red dot if the user is not an owner

Co-authored-by: Fernando <fernando.greco@gmail.com>

* Bug: #482 - Address book Custom transactions Recipient validation (#577)

* (fix) text input bottom border

* Fix #482 input

* Merge branch 'development' of https://github.com/gnosis/safe-react into fix/#482-address-book

# Conflicts:
#	src/components/forms/TextField/index.jsx
#	src/routes/safe/components/Balances/SendModal/screens/AddressBookInput/index.jsx
#	src/routes/safe/components/Balances/SendModal/screens/SendFunds/TokenSelectField/index.jsx
#	src/routes/safe/components/Balances/SendModal/screens/SendFunds/index.jsx
#	yarn.lock

* Fix custom tx addresses filtering

* Merge branch 'development' of https://github.com/gnosis/safe-react into fix/#482-address-book

# Conflicts:
#	yarn.lock

* Remove console logs
Fixed prettier issues

* Remove unnecessary template string

* Fix `tokenAddress` string conversion

* Use `secondaryBackground` value

Co-authored-by: Gabriel Rodríguez Alsina <gabitoesmiapodo@users.noreply.github.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>

* (feature)  Adding origin for Apps Transactions (#576)

* Adding origin field when creates a TX

* refactor: replace list of arg by object in getApprovalTransaction and getExecutionTransaction function

* minor changes

* Allow execute if threshold is 1 for the first tx

- Related to issue #563
- `lastTx` is required due to #489

* - Normalizing logic between createTransaction and processTransaction
- Moving shared function to a new file

* Refactor `doesTxNeedApproval` back to the `isExecution`-related meaning

* Rename function and variable names

* Add tests for `getNewTxNonce` and `shouldExecuteTransaction` functions

* Pass `safeInstance` instead of `safeAddress` to `getNewTxNonce`

* Update Tests

- remove mocked `getGnosisSafeInstanceAt`
- pass `safeInstance` instead of `safeAddress` to `getNewTxNonce`

Co-authored-by: Fernando <fernando.greco@gmail.com>

* (Feature) Add checks into CI (#594)

* Repare new dev and staging enviroments to deploy (#618)

* Repare new dev and staging enviroments to deploy

  - Add to `deploy_pull_requests.sh` to the new path.
  - Replace upload-dir to deploy staging to the new path.

* add /app/ public path for the webapp, remove duplicate yarn build from travis

* add basename to app

* deploy pr to /app

* update travis

* linter error fixes

* fix travis build script

Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>

* (fix) sidebar contents' scrolling (#622)

* (add) linter sorting rules (#614)

* (add) linter sorting rules

* (fix) linting errors according to the new rules

Co-authored-by: Fernando <fernando.greco@gmail.com>

* (feature): [Safe Apps] App Transaction List Details (#601)

* Adding IconText component

* Get origin for TXs in Redux

* Adding Icon and name app to transaction list

* Fix customTx condition

* Fix HTML element for text

* simplify condition

* Bug: Accounts/Network are not updated in production build (#625)

* Adding Apps info to toast notification (#621)

* Adding APP_Name for APPs TXs in toast messages

* refactor: save appId instead of appName in origin field

* adding fallback icon and message to TX apps table

* review changes

* review fixes

* force build

* update Apps list info (#629)

* update Apps list info

* fix

* Feature: replace web3connect with onboardjs (#456)

* init onboard.js

* dep bump

* initial replacement of web3connect with onboard.js

* use averta font in the modal

* update onboard.js, add handlers for session murder

* update preferred wallets

* implement reconnecting to injected provider

* fix duplicate wallet disconnected notification

* update onboard dep

* onboardjs fixes

* test onboard js with hw

* add https to rpcUrl

* Added saved wallet and transactions validation

* made Transactions validation

* bnc-onboard version updated

* Fix lock/unlock problem

* bump onboardjs version

* fixed material-ui lab version

* Update onboard version

* Added hw wallets integration

* Updated preferred wallets

* Add ledger modal

* Merge with dev

* Update onboard

* BUmp new version of onboardjs

* Added some logs

* Added some logs

* Update onboardjs version fix ledger connection

* Update onboardjs version fix ledger connection

* Bump new onboardjs version

* Update new version

* Made improvements

* yarn.lock regenration

* remove https=true

* Remove comments and added some improvements

* Updated package.json dep

* Removed unused deps

* Remove web3connect dep

Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* Passing ethBalance to Apps component (#636)

* (Fix) Update safe modal verbiage (#633)

* Fixs verbiage in update safe modal

* Fixs yarn lock

* Bump dependencies (#639)

* Use hash history (#638)

* v1.7.3 (#611)

* Fix #597: USD value not load (#609)

* Converts all the addresses to checksum values

* Fix for empty address

* fix the order of transactions, change updateSafe to upgradeSafe to avoid naming confusion with the updateSafe action (#610)

* Fix #596: Notification when safe is already updated (#599)

* Fix notification of update if the safe is already updated

* Makes the notification clickable
Displays the notification for owners only

* Identify upgrade tx

* Add red badge to Settings tab

* Fixs Padding
Removes the red dot if the user is not an owner

Co-authored-by: Fernando <fernando.greco@gmail.com>

Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>

* Update package.json (#612)

* Add public url to prod webpack config (#615)

* add public url to prod webpack config

* modify travis/webpack config to add public url

* add slash

* cherry pick new travis yml merge commit (#620)

* use hash history

Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>

* - Updates how the transactions are ordered, now orders by nonce and then by date (#640)

* (Fix) Lowercased safes address in URL (#631)

* Return checksummed addrress from `safeParamAddressFromState` selector

* Update `yarn.lock`

* Remove redundant `toChecksumAddress` call

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Gabriel Rodríguez Alsina <gabitoesmiapodo@users.noreply.github.com>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: francovenica <francovenica@gmail.com>
2020-03-09 17:06:40 +01:00
.github/ISSUE_TEMPLATE Feature: Add bug-report template (#372) 2020-01-16 23:10:13 +01:00
config Rebase master into development (#647) 2020-03-09 17:06:40 +01: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 #383: Create/Edit/Delete entry (#399) 2020-01-15 13:29:44 +04: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 (Fix) Lowercased safes address in URL (#631) 2020-03-09 11:08:28 -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 Repare new dev and staging enviroments to deploy (#618) 2020-02-27 16:21:17 +01: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 Rebase master into development (#647) 2020-03-09 17:06:40 +01:00
readme.md Development (#355) 2019-12-16 17:04:42 +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 dependencies (#639) 2020-03-06 14:49:08 +01:00

readme.md

Gnosis Team Safe

The most secure way to manage your crypto funds collectively

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.