83436e37b2
* Bug: Invalid V in signature with eth_sign (#728) * Fix invalid V with metamask/ledger * DONT FORGET TO REVERT BEFORE MERGING: test deployment * DONT FORGET TO REVERT BEFORE MERGING 2: test deployment * Revert "DONT FORGET TO REVERT BEFORE MERGING 2: test deployment" This reverts commit 8331f2a78f7fc8f53eb893899f16edd8238c68ff. * Revert "DONT FORGET TO REVERT BEFORE MERGING: test deployment" This reverts commit 03b81e31820ce4fe078a7131c2f0caa2af4870ac. * BUG: Only injected providers are cached as last used provider (#733) * cache every used provider, not only injected one * package json update * (Fix) Adapt app to back-end changes (#736) * refactor: Set success status to `201` (CREATED) * refactor: return `null` when there's no latestTx * (Fix) Transaction not automatically executed (#716) * feature: action/reducer to UPDATE_SAFE_NONCE * refactor: when processing txs returned from backend, extract latest tx nonce value and store it in the safe's state * chore: update `yarn.lock` * refactor: `UPDATE_SAFE_THRESHOLD` and `UPDATE_SAFE_NONCE` discarded in favor of `UPDATE_SAFE` * refactor: use `SAFE_REDUCER_ID` constant * refactor: remove `updateSafeNonce` file * (Fix) Change the order of the upgrade methods lookup (#740) * fix: change the order of the upgrade methods lookup The `isUpgradeTransaction` method was looking for the methods in an wrong order (#599). The proper order was set in #610, but `isUpgradeTransaction` wasn't updated. * fix: contract upgrade version lookup * Feature: Use eth_sign for hardware wallets connected via onboard.js (#742) * Use eth_sign for hardware wallets * install onboard.js with fix from forked repo * rebuild yarn.lock to fix cached onboard * update bnc-onboard * update package json (#743) * (Fix) Properly decode threshold value in tx details (#749) * fix: Display new threshold value when changing its value There was a typo for the `changeThreshold` action fixes #746 * refactor: use a constant for safe methods names * fix: check for `decimals` method in transferredTokens (#748) Previously we were looking for `decimals` hash in the contract `code`. There are some contracts like USDC who happen to be behind a FiatTokenProxy, making it upgradable. By directly calling the `decimals()` method, we interact with the contract and can be sure that the `decimals()` method is present. fixes #678 * Bug #747: Don't use getLastTxNonce to fetch safe nonce (#750) * don't use getLastTxNonce to fetch safe nonce * fetch safe nonce in checkAndUpdateSafe * checkAndUpdateSafe refactor * remove nonce update logic from UPDATE_SAFE reducer * handle the case when localSafe returns undefined * handle the case when localSafe returns undefined in buildTransactionFrom * bump package json version to 1.9.4 * Issue-595: Apps config from Manifest (#715) * getting apps info from its manifest * Consume app info from manifest in Apps list, Transactions and Toast * fixes * navigate to TX Tab with an app makes a TX * (Fix) If backend returns `null` for addresses the Transaction ca… (#718) This tends to solve any possible issue that there may be in the tx execution for the `gasToken` and `refundReceiver` nullish values. fixes #573 * #751 fix - Replaces decimals from backend with decimals from blockchain (#755) * Replaces decimals from backend with decimals from blockchain * Removes fetching again token info from blockchain Fixs decimals cast, now we force to move from bignumber to number For data already wrong stored as string we remove it to force fetching again the decimals * Fixs missing symbol * Add description comment * Added Unilogin provider + support for legacy paths (#719) * Added unilogin provier + support for legacy path * Bump onboardjs version * fallback to displaying custom tx when we fail to fetch token info (#767) Co-authored-by: Fernando <fernando.greco@gmail.com> Co-authored-by: nicolas <nicosampler@users.noreply.github.com> Co-authored-by: Agustin Pane <agustin.pane@gmail.com> Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com> |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
config | ||
contracts | ||
flow-typed/npm | ||
migrations | ||
public | ||
scripts | ||
src | ||
.env.example | ||
.eslintignore | ||
.eslintrc | ||
.flowconfig | ||
.gitignore | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
.travis.yml | ||
LICENSE.md | ||
babel.config.js | ||
jest.config.js | ||
jsconfig.json | ||
package.json | ||
readme.md | ||
truffle.js | ||
yarn.lock |
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
- 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 1.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.