Commit Graph

363 Commits

Author SHA1 Message Date
Daniel Sanchez 3bab94e70d Rollback node-sass to latest v4 version 2020-11-13 15:08:32 +01:00
Daniel Sanchez 710a2a99ed Upgrade @truffle/contract to a version that uses web3@1.2.9
Fix scrypt issue building in windows
2020-11-13 13:32:14 +01:00
Daniel Sanchez 26231ef54b Update node-gyp and node-sass to latest version
This is intended to avoid memory leak in windows machines
2020-11-13 12:45:12 +01:00
Daniel Sanchez 3c795462b7
Rollback web3 to v1.2.11 to avoid issues with walletconnect (#1599) 2020-11-12 20:20:54 +01:00
Daniel Sanchez 0c67c48648
Upgrade dependencies (#1572)
* Upgrade web3 to v1.3.0

* Remove polished direct dependency

* Upgrade types dependencies

* Upgrade ledger and electron related dependencies

* Update gnosis-safe-components to latest version

* Upgrade sentry dependencies to latest version

* Upgrade truffle-contract and axios

* Upgrade electron dependencies

* Use fade instead rgba with hex value

Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
2020-11-06 17:01:40 +01:00
Daniel Sanchez 387ebe68fb
Updates bnc-notify version and adds support for GridPlus Lattice [internal] (#1569)
* Adds support for GridPlus Lattice and bumps `bnc-onboard` version.
For more information on the GridPlus Lattice, see https://gridplus.io/lattice

* Disable Lattice wallet from incompatible chains

Co-authored-by: Alex Miller <asmiller1989@gmail.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
2020-11-05 16:02:24 +01:00
nicolas df42b36194
Add Sentry config and ErrorBoundary Component (#1528)
* Add Sentry config and ErrorBoundary Component

* Update travis file to upload sentry sourcemaps

* Add design implementation for ErrorBoundary

* Add Sentry DSN configuration for all networks

* Push sourcemaps to sentry only on staging/production build

* move isProdction to constants file

* change Button for Link

* fix redirect when safeAddress is provided but not a subpath for it.

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-10-30 20:55:40 +01:00
Daniel Sanchez 02ba83cef2
Bump dependencies (#1529)
* Upgrade Typescript to v4.0.3

* Upgrade dependencies with minor changes

* Cleanup yarn.lock file

* Upgrade types dependencies

* Fix inconsistency with @typescript/eslint caused by react-scripts

* Fix eslint issues

Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
2020-10-28 12:48:31 +01:00
Mikhail Mikheev 1c53167a9a
Feature #1480: Handle rpc calls from apps SDK (#1519)
* sdk version update

* point sdk to a newer commit

* Update iframe message handler

* ConfirmTransactionModal tweaks to support params

* handle sendTransactionsWithParams, display safeTxGas in app tx modal

* new sdk version

* yarn lock update

* install libudev in travis

* update sdk version

* Estimating safeTxGas for Safe Apps Txs WIP

* safetxgas estimation warning wip

* gas estimation in confirm transaction modal

* yarn lock update

* update sdk version

* add handler for rpc calls

* use send method

* update sdk version

* dep bump

* wip

* update sdk

* remove unused interface and console.log

* remove async, tweak check for send func

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
2020-10-26 13:53:01 +04:00
Mikhail Mikheev 56430b5966
Feature #1440: Handle transactions with set safeTxGas from Safe Apps (#1442)
* sdk version update

* point sdk to a newer commit

* Update iframe message handler

* ConfirmTransactionModal tweaks to support params

* handle sendTransactionsWithParams, display safeTxGas in app tx modal

* new sdk version

* yarn lock update

* install libudev in travis

* update sdk version

* Estimating safeTxGas for Safe Apps Txs WIP

* safetxgas estimation warning wip

* gas estimation in confirm transaction modal

* yarn lock update

* review fixes

* Change estimation loading msg, use imported vars to index payload type

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-10-22 17:43:59 +04:00
Fernando 9ca9007105
(Feature) - xDai Compatibility (#1476)
* 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>
2020-10-18 21:48:22 +02:00
Daniel Sanchez eab0e73ac6
Bump dependencies (#1478)
* Upgrade dependencies without breaking changes

* Update electron and gnosis dependencies with minor changes

* Upgrade dependencies with minor changes and remove unnecessary electron dependency

* Upgrade truffle-contract to latest @truffle/contract
2020-10-15 17:01:12 +02:00
dependabot[bot] 032b93c603
Bump electron from 9.3.0 to 9.3.1
Bumps [electron](https://github.com/electron/electron) from 9.3.0 to 9.3.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v9.3.0...v9.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-06 18:15:48 +00:00
Daniel Sanchez 171b6d9ddc
Update travis script to execute tests (#1382)
* Update travis script to execute tests

* Update ReviewInformation components to remove type error

* Fix tests and import types without .d

* Upgrade dependencies with minor changes
2020-09-24 16:04:35 +02:00
Mati Dastugue dc632be4e2
Not able to connect with Opera Touch (#1378)
* Bump new onboard.js version

* Fix opera touch
2020-09-21 10:41:22 +02:00
Mikhail Mikheev 8a6633db92
Apps/Feature #37: add onUserReject event handler (#1354)
* add onUserReject event handler

* fix invoking possibly undefined func

* update sdk version

* yarn lock update

* fix network passing
2020-09-15 20:21:03 +04:00
Daniel Sanchez 8efafc1aaa
1265 Restore strict null checks (#1336)
* dep bump, enable strictNullChecks ts compiler option

* remove unused imports

* nullchecks errors wip

* fix clipboard func type errors

* fix send funds validation

* Update style load in ThresholdSettings

* Fix isValidAddress default state for SendCollectible

* fix OwnersColumn return type

* fix extractUsefulMethods typing

* Bug: incoming transactions do not load if it fails to fetch gas for a transaction (#1321)

* check if gas returned values are valid when loading token info for incoming tx

* Fix generateBatchRequests

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
(cherry picked from commit 372d27f5a6)

* Revert "Revert "Tech debt 1265: Enable strictNullChecks TS compiler option (#1301)" (#1335)"

This reverts commit 43bc4984b8.

* Fix safe clean load

Fix transaction nonce get

* Fix issue adding owners again after reloading the page

* Add viewedSafes correctly to current session

* Add typing and reduce dependency with immutable

* Rename SerializedSessionState to CurrentSessionState

* Remove immutable from currentSession

* Use Dispatch type defined using ThunkDispatch

* Remove if as parameter should always be defined

* Fix test typo issues

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-09-15 09:50:51 +02:00
Daniel Sanchez 141b6464ae
Add manual trigger to desktop app build (#1356)
* Set desktop app build on workflow_dispatch

* Update workflow_dispatch

* Add yarn cache to build desktop app

Upgrade electron to latest compatible version

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-09-14 23:06:10 +04:00
Daniel Sanchez 43bc4984b8
Revert "Tech debt 1265: Enable strictNullChecks TS compiler option (#1301)" (#1335)
This reverts commit bfed9679f7.
2020-09-09 17:35:27 +02:00
Mikhail Mikheev bfed9679f7
Tech debt 1265: Enable strictNullChecks TS compiler option (#1301)
* dep bump, enable strictNullChecks ts compiler option

* working on errors wip

* remove unused imports

* nullchecks errors wip

* fixing errors

* fixing errors

* fixing errors

* fix clipboard func type errors

* error fixes

* error fixes

* error fixes

* error fixes

* error fixes

* error fixes

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* error fixing

* Finally made it

* eslint fixes

* eslint fixes 2

* fix send funds validation

* Update style load in ThresholdSettings

* Fix isValidAddress default state for SendCollectible

* fix OwnersColumn return type

* fix extractUsefulMethods typing

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-09-04 16:03:09 +04:00
Mati Dastugue c5bafa6569
Bump new onboard.js version (#1307)
* Bump new onboard.js version

* bump new version

* Clean unnecessary dependencies from yarn.lock file

* Bump dependencies without breaking changes

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-09-01 19:02:25 +04:00
nicosampler e0151a42d9 update safe-react-components version 2020-08-27 14:12:02 -03:00
nicolas 03cb4aba96
New layout (#1201)
* Adding storybook

* new layout components

* add preview body

* add styles

* extract walletInfo to a separated component

* remove unused component

* New Layout componentes refactor

* Return type in Root

* change story name

* adding back OpenHoc

* sort import

* fix margins

* split layout

* Move Layout related components to /components/SidebarLayout

* Adding new layout for real

* Some changes and refactor

* Move Modals from safe to sidebar

* move safeAddress logic from safe to sidebar

* move safe container from components

* List refactor

* sidebar navigation

* selected item

* list selected example

* add styles

* add text component to new tx button

* Sidebar without walletInfo

* fix footer and body margins

* add logo Safe Multisig

* update safe-react-components

* List colors and List Icon

* fix subItem

* update safe-react-components

* fix logo margin, add notConnected icon and badge Read Only

* fix merge problems

* add sidebar styles and icon notConnected

* fix readOnly

* fix QR tooltip info

* add Help Center link and fix margins

* Remove 'No safe loaded' text

* review changes

* fix import

* fix Help center margin

* add styles to address

* replace empty div with FlexSpacer component

* rename Sidebar by SafeListSidebar

* fix load and create safe position (top-left)

* Add comment to FlexSpacer

* fix Title margin Safe Creation Progress

* fix Read Only line-height

* review fixes

* review fixes

* rename component

* fix Help Center styles

* return type in DefaultBadge

* Fix types for list component (still wip)

* move sidebarList to a hook

* fix safe route container

* fix src version

* fix list typescript issue

* rename sidebarlayout to applayout

* sidebar fixes wip

* sidebar fixes wip

* remove unused function

* lift sidebar items state up

* fix broken imports

* remove unused files

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-08-27 18:53:28 +04:00
Daniel Sanchez d5513013f5 Merge remote-tracking branch 'origin/development' into v2.10.2-backmerge 2020-08-26 11:34:22 +02:00
Mikhail Mikheev 66c5ae7f8e
Safe apps: return safe tx hash (#1245)
* apps refactoring wip

* apps refactoring wip

* type fixes

* add useLegalConsent hook in apps

* useAppList hook wip

* dep nump

* useAppList hook wip

* fix selecting first app

* Remove console.log

* dep bump

* update persisting app logic

* update saveToStorage type

* fix crash on apps tab

* add appframe comp

* add handleIframeLoad func

* reuse selectedApp variable in hook

* remove initialAppSelected

* yarn regenration

* useIframeCommunicator wip

* add types for apps component

* dep bump

* fix history types

* yarn regenration

* extract useIframeMessenger hook

* fix safe-react-components version

* useIframeMessageHandler wip

* fix types

* send safe info on handshake

* fix naming/types for url utils

* remove operations

* update safe-apps-sdk

* wip

* update safe-apps-sdk

* requestId wip

* cta snackbar usage fixes

* notifications refactor wip

* notifications refactor: use dispatch

* tsc fixes

* extract confirm transaction modal

* Extract confirmation modal to a separate component

* dep bump

* ConfirmTransactionModal component

* Return safeTxHash after user confirmed transaction

* fix address validator, close modal when user confirms the tx

* close modal after confirmation

* update imports

* update imports [2]

* update imports [3]

* update imports [4]

* remove console.log in createTransaction

* update safe-apps-sdk

* yarn.lock

* EditOwnerModal types
2020-08-26 13:05:34 +04:00
nicolas 4dc28942c0
Allow to remove a Safe-app added manually (#1260)
* partial imp

* Delete safe apps added manually

* Fix and review changes

* remove unnecesary exports

* Fix deleteApp and sort in modal list
2020-08-25 17:19:01 -03:00
Daniel Sanchez af0f303fe0
Fix windows directory issue on yarn install (#1275)
* Update yarn.lock file to match integrity

* Restore network-concurrency flag
2020-08-25 20:06:37 +02:00
Daniel Sanchez 5a8b3e248b Fix desktop app build (#1254)
* Change generate-types routes

* Use cross-env in generate-types script

* Update desktop build to Node 12

* Rollback to Node 10

* Remove cross-env

* Disable yarncache steps

* Enable yarn cache clear

* Cleanup yarn.lock file

* Restore yarn install step

* Set release action when merge to master
2020-08-25 13:35:28 +02:00
Daniel Sanchez 8a13d333d2
Fix desktop app build (#1254)
* Change generate-types routes

* Use cross-env in generate-types script

* Update desktop build to Node 12

* Rollback to Node 10

* Remove cross-env

* Disable yarncache steps

* Enable yarn cache clear

* Cleanup yarn.lock file

* Restore yarn install step

* Set release action when merge to master
2020-08-20 00:52:36 +04:00
Mikhail Mikheev 7a4773511c
Safe apps: Extract Iframe messenger to a hook (#1219)
* add useLegalConsent hook in apps

* useAppList hook wip

* fix selecting first app

* update persisting app logic

* update saveToStorage type

* fix crash on apps tab

* add appframe comp

* add handleIframeLoad func

* reuse selectedApp variable in hook

* remove initialAppSelected

* add types for apps component

* fix history types

* extract useIframeMessenger hook

* fix safe-react-components version

* useIframeMessageHandler

* update safe-apps-sdk

* Fix alignment between app list and app iframe

* send safe info on handshake

* fix naming/types for url utils

* fix types and code cleanup

* remove operations

* dep bump

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-08-13 13:37:34 +02:00
Mati Dastugue aeaf3c4ee6 Remove styles hook and change styles change 2020-08-12 12:07:45 -03:00
nicosampler 44a5a9c190 update package.json 2020-08-06 08:55:14 -03:00
nicosampler 18dd6b7e97 Merge branch 'development' into issue-1144 2020-08-06 08:22:19 -03:00
Mikhail Mikheev b6bb5ffde1
Tech Debt: Safe Apps Refactor (#1110)
* apps refactoring wip

* apps refactoring wip

* type fixes

* add useLegalConsent hook in apps

* useAppList hook wip

* dep nump

* useAppList hook wip

* fix selecting first app

* Remove console.log

* dep bump

* update persisting app logic

* update saveToStorage type

* fix crash on apps tab

* reuse selectedApp variable in hook

* remove initialAppSelected
2020-08-06 11:33:58 +04:00
nicosampler 7f3a99b7f1 Merge remote-tracking branch 'origin/development' into issue-1144 2020-08-03 13:36:36 -03:00
Daniel Sanchez f374315a5a
Avoid constant creation of new web3 object (#1171)
* Avoid constant creation of new web3 object

* rollback web3 version, small type fixes in ConnectButton

* Use web3 instance in getProviderInfo

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-08-03 11:29:17 +02:00
Mikhail Mikheev 86cbd94b0c
Tech debt: Add types for contracts (#1118)
* typechain wip

* add types for multisend

* type definitions improvements

* type safe contract in estimateTxGasCosts

* contract type definitions wip

* SafeInstance truffle -> web3 migration

* fix calls for version

* transactions/send enhancements

* fix safe recor owner type

* Stepper type definitions wip

* dep bump

* stepper types wip

* refactoring stepper component to fix bug in load safe form

* stepper types wip, addressbook reducer types wip

* finally make it work

* Fix ownerlist component hook in load safe

* dep bump

* dep bump

* rollback types/history

* add types for gas calc

* debugging...

* fix using RO web3 for sending txs

* update package.json generate-types command

* add ts-ignore for stepperpage

* db

* dep bump

* as unknown as AbiItem -> as AbiItem[]

* use optional chaining for isExecution in gas esimations

* abiITem -> AbiItem[]

* fix safeVersion utils tests

* fix imports, put upgradeSafe test close to the actual code

* add comment about ts-ignore usage

* downgrade web3 version
2020-08-01 02:26:10 +04:00
nicosampler df8e3f49df review fixes 2020-07-31 15:21:17 -03:00
nicosampler 5f1f5f5387 update yarn.lock 2020-07-30 12:09:49 -03:00
nicolas 251da319a5
Fix: debounce fetch apps (#1021)
* Fix: debounce fetch apps

* refactor: fix AddAppForm name and add missing types

* add `use-lodash-debounce` hook to test debounce functionality

I'm planning to remove this dependency, as it requires to also install `lodash.debounce`. I prefer to implement it ad-hoc.

* refactor AddAppForm to use the observable pattern

* memoize `getAppInfoFromUrl` to prevent requesting the same information over and over

* prevent requesting data if url is not valid

* remove logging

* prevent validating form before visiting the fields

* refactor AddAppForm

reorganize code

* fix: change `any` to `unknown`

* fix: `uitls.ts` types and imports

* refactor: rename `isSubmitDisabled` to `onSubmitButtonStatusChange` prop

* refactor: rename `agreement` to `agreementAccepted`

also, moved `initialValues` to a constant `INITIAL_VALUES` outside the component

* refactor: reimplement `useDebounce` hook in-app

* refactor: extract app manifest verification to a helper function

also fixed types

* fix: prevent accessing `contentWindow` if `iframe` is `null`

* fix: `getAppInfoFromOrigin` return type

also, removed the expected type for the `getAppInfoFromOrigin` calls as it is inferred

Co-authored-by: fernandomg <fernando.greco@gmail.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-07-30 18:28:30 +04:00
Daniel Sanchez 89c17180de
Trim spaces from AddressInput (#1142)
* Remove spaces

* Change naming convention to make clear that only edge whitespaces are removed

Fix function documentation in string util

* Add trim spaces from address input in AddToken and AddAsset

* Use validator type

* Trim spaces on Safe App links

Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-07-29 17:28:43 +04:00
Mikhail Mikheev f62bbffdd3
Tech Debt: Validator Type definitions (#1108)
* type validators

* safeSelector types

* history 5.0.0 breaking changes adaptation

* replace simpleMemoize with memoize from lodash because of typing issues

* add type definitions for history and react-router-dom

* type fixes

* yarn lock update

* fix router state

* more type improvements

* validator tests wip

* add tests for validators, remove duplicated validators

* add error messages to tests

* fix minValue error message for inclusive param

* Replace jsx.element with react.reactelement

* Fix uniqueAddress validator argument type

* remove comment in AddCustomToken validator

* use absolute import for saferecord in safe paage container
2020-07-27 14:31:13 +04:00
Germán Martínez 253639d009
Safe apps can request the Safe info (#1138)
* Request Safe info from Safe apps

* Update dependencies

* Update yarn.lock file

* remove usecallback

* Rename initialization messageId from safe-apps-sdk

* Fix openOnFocus on AddressBookInput

* Fix yarn.lock file

* Rollback @material-ui/lab to avoid type errors

* dep bump

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-07-24 17:56:24 +04:00
Mikhail Mikheev cea91ca007 update yarn.lock 2020-07-22 20:58:10 +04:00
nicosampler c1c5488d53 Fix: [SafeApps] add app input 2020-07-22 12:54:14 -03:00
fernandomg 028913d9bf bump `safe-react-components` version 2020-07-17 18:39:46 -03:00
fernandomg 0adaaf5c77 update `yarn.lock` 2020-07-13 13:43:30 -03:00
Agustin Pane 948bb21378 Merge branch 'development' of https://github.com/gnosis/safe-react into coveralls
# Conflicts:
#	yarn.lock
2020-07-08 10:30:37 -03:00
Agustin Pane 8fb5cf5e63 Adds web3-core types 2020-07-08 10:07:38 -03:00
Agustin Pane 3e982b741f Merge branch 'master' of https://github.com/gnosis/safe-react into coveralls
# Conflicts:
#	yarn.lock
2020-07-02 09:06:28 -03:00
Agustin Pane 98ec85d454 Merge branch 'development' of https://github.com/gnosis/safe-react into coveralls 2020-07-01 08:50:14 -03:00
nicolas d57ad72588
2.4.0 (#1079)
* Fix: Sapp confirmTXs modal width.

* explicitly type classNames

* typo

* Bump onboardjs version (#1049)

Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>

* add Aave app (#1075)

* bump package.json version (#1077)

* mock commit

* yarn.lock regenration

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
2020-06-30 12:57:21 +04:00
Mati Dastugue 222ace288c
Bump onboardjs version (#1049)
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-06-29 16:33:56 +04:00
Agustin Pane 8625684b2a Merge branch 'master' of https://github.com/gnosis/safe-react into coveralls
# Conflicts:
#	yarn.lock
2020-06-25 10:52:31 -03:00
Mikhail Mikheev f39b0903ca
2.3.1 bugfix
* fallback to tx.recipient in case no if statement worked in getTxData

* update pkg.json
2020-06-25 16:18:53 +04:00
fernandomg 6fff362664 update yarn.lock 2020-06-24 10:24:25 -03:00
Mikhail Mikheev 75a72f32a7 turn on rule for explicit return type 2020-06-19 14:12:03 +04:00
nicolas 813619c123
hide sapp iframe until it loads completely (#1020)
* hide sapp iframe until it loads completely

* review changes

* remove code

* moving type

* adding styled-components types

* fix TS error

* refactor iframe loading
2020-06-18 14:03:12 +04:00
Fernando 0296a670e7
(Fix) [Contract Interaction] Support array-like arguments (#1009)
* Add `ArrayTypeInput` to support array type values

- also updated types for ContractInteraction/utils

* Update placeholder message

* Support fixed size arrays

- refactored how Field's key is generated due to conflicts with final-form library and `[]` in the name
- also simplified validation for array-like fields, as it messed with arguments of type `T[][2][][3]`
2020-06-18 13:53:49 +04:00
Agustin Pane 6d1a349d87
(Fix) - Identicons fix (#1004)
* Replaces old blockies dependency with ethereum-blockies-base64

* Add types

* Refactor as functional component

* Simplify identicon logic

* Simplify identicon styling logic

* Simplify identicon styling logic
2020-06-11 12:13:14 -03:00
nicolas ea1662bc6f
Safe apps url config (#1001)
* safe-react-apps  url from config and add request app

* Adding types

* safe-react-components bump

* extracting types

* add return type

Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-06-09 11:34:43 -03:00
Mikhail Mikheev 9abd83d824 dep bump 2020-06-09 14:47:58 +04:00
Mikhail Mikheev fc8fe5ddc6 typescript version bump 2020-06-09 14:23:14 +04:00
Mati Dastugue 84c525673a Update electron-settings 2020-06-07 22:23:05 -03:00
Mati Dastugue 0af59a7f78 Merge branch 'development' of github.com:gnosis/safe-react into feature/updateDialog 2020-06-07 21:57:46 -03:00
Fernando cefb33b593
(Fix) [Contract Interaction] Parameter validation (#974) 2020-06-06 10:32:25 -03:00
Mikhail Mikheev 5a7ced92ad
Merge pull request #897 from gnosis/536-notifications-status-labels-sync
Feature: Hide transactions with no confirmations, labels/notifications sync
2020-06-05 14:20:04 +04:00
Agustin Pane e5c6d8040d
(Fix) Null balances (#971)
* Fixs balances will null value

* Fixs collectibles not loading

* Uses useLocation hooks

* Add types

* fix types for useLocation

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-06-04 17:54:39 -03:00
Agustin Pane 63193d2429
(Fix) [Contract Interaction] boolean fields (#976)
* Replaces checkbox component with safe apps components

* Refactor input params to use checkbox component for boolean types

* Remove "anys"
Fix boolean values display on review tx

* Remove any

* Fix ts issues

* Exports boolean fn to util function

* Extract input component rendering to another component

* Fixs imports
Add types

* Remove old checkbox component

* Add types

* Add types

* fix `data` string not being updated after modifying a reviewed tx

* fixes required for typescript 3.9.3 upgrade

* bump typescript version

* add travis_wait for build command

* add cache for yarn

* travis wait fix

* remove travis_wait

* Revert "fix `data` string not being updated after modifying a reviewed tx"

This reverts commit 49356054cd93726b058073d3cd2e7a0244fd5914.

* Revert "Revert "fix `data` string not being updated after modifying a reviewed tx""

This reverts commit f2572e68dc59c01d8e4b1eccf975faf4006cd7a7.

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-06-04 10:56:55 -03:00
Mati Dastugue c5fad7cdd8 Add dialog and skip version 2020-06-03 14:37:50 -03:00
fernandomg e6ea715aca update `yarn.lock` 2020-06-03 10:38:38 -03:00
Mati Dastugue 31555d675e Update electron build 2020-05-29 22:48:11 -03:00
Mati Dastugue 1382c8e7a2 Update electron scripts 2020-05-29 15:30:38 -03:00
Mati Dastugue 7b0eb4cf7d Merge branch 'development' of github.com:gnosis/safe-react into fix/ledger 2020-05-29 12:22:41 -03:00
Mati Dastugue a519e6f3ad Fix yarn deps 2020-05-28 13:54:10 -03:00
nicolas 4065d5a007
Allow to load Safe Apps with ENS names (#911)
* Remove ethereum-ens in favour of web3.eth.ens

* Allow load Apps from ENS names

* remove comment

* review changes

* replace REACT_APP_IPFS_NODE by REACT_APP_IPFS_GATEWAY

* review fixes

* TS Errors

* fix paths

* Fix validtor

* Apps: Move App form to a separate file

* re-build

* review changes

* fix iframeEl type

* remove validation

* fix type

* update web3 version

* remove type in getContentFromENS

Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-05-28 12:50:08 -03:00
nicolas 1ae63f6784
Clean up dependencies (#944)
* Clean up dependencies

* Fix css mixing not being called
2020-05-22 13:48:27 +04:00
Mikhail Mikheev d9e62adc26
Bug: fix build directory for deployment, remove unused code (#937)
* fix build dir, remove unused code

* fix public path & remove unused code
2020-05-21 08:42:11 -03:00
nicolas 982d79c0d0
Migrating to Typescript and bringing back react-scripts (#933)
* remove flow from src

* remove unused files

* remove rules from eslint

* replace absolute paths

* add tsconfig

* update package.json

* remove babel-polyfill

* eslint fix

* remove jsconfig.json

* replace .scss by .module.scss

* Revert "replace absolute paths"

This reverts commit e430c71263a1a4c190d50e72271bba7ea6356bc4.

* replace ~/ by src/

* js fixes

* scss fixes

* fix unused vars

* adding eslint

* adding back config folder

* fix eslint and prettier

* force build

* fix baseUrl

* rename js/jsx to ts/tsx

* some rules

* rename files with jsx syntax to tsx

* fix app build

* Revert "fix baseUrl"

This reverts commit 523f29c7b61e14dd6be0ffc3cd199ff399157467.

* some fixes

* replace ts to tsx

* some TS fixes

* more tsc changes

* more tsc fixes

* more fixes

* more ts fixes

* more fixes

* last fix

* fixes

* prettier fix

* some fixes

* fix safe information aligment

* add yarn.lock

* fix blockies and build memory space

* include blockies in tsconfig

* fix blockies

* fix blockies import

* fix Identicon component

* fix build command

* Fix ref type in Identicon

* add libusb-1.0-0-dev to travis

* build command fix [2]

* build command fix [3]

* fix margin layout

* Update  yarn lock

* remove @ts-ignore

* hide Critial dependency

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
2020-05-20 16:15:21 -03:00
Mikhail Mikheev 6377c80e4f
Feature #739: Deployment screen improvements (#908)
* Dep bump

* add deps to useEffect hook

* Revert "Dep bump"

This reverts commit f22795296cd7989ecda594ffef4478c2f5d92911.

* fix / redirect

* Fix currency fetch 400 error

* extract tab labels to components

* fix currency dropdown not showing, rename DropdownCurrency component to CurrencyDropdown

* Fix loader component type

* move steps to a separate file

* make confirmation banner green

* track safe creation in analytics

* add back button

* remove width style from backbutton

* remove width style from backbutton (prev was just commented)

* remove components-v2 and use safe-react-components

* fix duplicated import

* bring back addressinfo component because it was not included in safe-react-components

* Fix broken import (CurrencyDropdown component was renamed)

* add CustomIconText component to fix transaction tab crash

* bring back ListLayoutComponent
2020-05-19 15:55:35 +04:00
nicolas 77e4987919
Inform the user if a Safe-App initiate a malformed TX (#895)
* @gnosis.pm/safe-react-components from NPM

* Infor is TX is malformed

* review fixes

* improve names

* review fixes

* trigger build
2020-05-14 10:50:04 -03:00
Fernando c396b3eaf8
(Feature) Easier Smart Contract Interaction (#741) 2020-05-13 17:06:01 -03:00
Mikhail Mikheev 8efbbad0a3 Dep bump 2020-05-12 12:55:51 +04:00
fernandomg e402b51ff8 Merge branch 'development' into dont-fetch-ownername-in-fetchTransactions
# Conflicts:
#	yarn.lock
2020-05-05 17:11:46 -03:00
Mati Dastugue 7d00c37f95 Merge with dev 2020-04-30 10:39:22 -03:00
Mikhail Mikheev ba47a5fe26 Merge branch 'development' of github.com:gnosis/safe-react into dont-fetch-ownername-in-fetchTransactions 2020-04-29 13:34:54 +04:00
nicolas 49dc19bb94
Fix apps (#823)
* v2.0.0 (#806)

* 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)

* Create release.yml

Created script for building desktop app

* Feature #322: Set safeTxGas for newly created transactions (#752)

* Set safeTxGas for newly created transactions

* extending estimation for nested calls WIP

* messing up things to implement safeTxGas estimation

* simplifying base gas calculations

* remove eslint disable

* messing things up to make things work

* bring estimateData back

* pass payload to requiredTxGas

* pass esimateData to estimateDataGasCosts

* remove console log

* use batch requests to estimate safeTxGas

* use const for txGasEstimation

* check the response in request simultion

* sidebar fix

* remove for loop

* Manage Apps (#765)

* 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

* ManageApps partial implementation

* update safe-react-components

* changes

* apps validator

* fix providedBy

* TextField in addApp

* fix checkbox error message

* validation

* adding app

* Manage Apps

* fix modal width

* update package.json

* update netlify url

* fix modal widh

* Set layout to Non-owners allowed error

* some fixes

* Apply suggestions from code review

Co-Authored-By: lukasschor <lukas.schor@gnosis.pm>

* review changes

* fix condition

* Legal Disclaimer

* Better error message

* update yarn.lock

* Error message

* review fixes

* upgrade safe-react-components

* show for all environments

* Disclaimer changes

* review changes

* fix re-render

* visual changes

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>

* fix scroll and fix margin layout

* Add region to travis CI develop (#787)

Enable region for s3 provider to allow upload development environment to different S3 regions

* Feature/travis ci s3 region (#789)

* Add region to travis CI develop

Enable region for s3 provider to allow upload development environment to different S3 regions

* Enable region for staging s3 providers

* fix error on Wrapper

* Add gnosis wc bridge to onboard.js wallets options array (#790)

* Rename incoming-transactions url to incoming-transfers

* Feature #587 - App performance improvement (#738)

* Refactor Balances to functional component
Removes Balances props in Layout.jsx

* Replaces selectors that were using safeParamAddressSelector with safeParamAddressFromStateSelector to avoid the bug of non-loaded safe when called
Also exports extendedTransactionsSelector to let the components use it

* Refactors Transactions.jsx, replaces transactions.tsx with txsTable.jsx
Removes all unused props from transactions.jsx
Makes all childs of txsTable.jsx fetch the props they need instead of sharing all of them even if they are not used

* Adds new selectors: safeNameSelector, safeNeedsUpdateSelector, safeCurrentVersionSelector

* Removes unused props from layout to settings.jsx
Removed props from the settings.jsx childs, now they fetch the values they need directly from the store

* Removes unused redux connect

* Adds safeEthBalanceSelector

* Removes all the props from layout to settings

* Refactor root and layout, extracts checkForUpdate and componentDidMount to components
Extracts header and tabs from Layout.jsx

* Makes routes.jsx use selectors instead of connect to unify the code

* Loads tabs components using react suspense

* Fixs warning when trying to update root component within loadStore.jsx
Replaces safe with safeAddress selector in layout.jsx to reduce the unnecessary rendering
Fixs setState in container.jsx

* Fixs checkForUpdates fetchTokenBalances
Adds FetchTokens.jsx in balances
Adds safeFeaturesEnabledSelector

* Fixs load addressbook action

* Replaces safe with owners in manage owners

* Improves buildSafe promises calls
Improves the loadStorage calls

* Fixs error "Uncaught (in promise) TypeError: Cannot read property 'includes' of undefined"

* Extracts LoadStore from outside the router component to avoid re-loading the store
Adds react lazy for Coins and Collectible tabs

* Reduce the polling rate for fetching transactions

* Removes unused actions.js
Removes unused selector props

* Fixes owners column selector usage

* Fixes processTransaction usage

* Optimize how the transaction list within the transactions tab are loaded

* Fix lint error

* Fix edit addressbook entry

* Fixs show send coins modal

* feature: batchRequest for incoming transactions

* Fixs race condition on loadStore
Fixs check for updates address null validation

* Adds ensureOnceAsync for getGnosisSafeInstanceAt
Adds batch request for safe params

* Removes unnecessary checkAndUpdateSafe from checkForUpdates, now the safe gets updated when a transaction arrives

* Fixs ensureOnce/memoization

* refactor: make a generic generateBatchRequest method

Create a generic method to easily build web3 batch requests

* refactor: use `generateBatchRequest` in `getTokensBalances`

* Removes .toJS in edit entry

* Removes web3 from sendTransactions
Removes pascal case FetchTokens

* Replaces /layout import

* Replaces CheckForUpdates component with useCheckForUpdates hook

* Makes FetchTokens a hook

* Removes getSafeParamsBatch, now the safes gets the data using the generic generateBatchRequests

* Replaces INITIAL_STATUS with INITIAL_STATE

* Replaces regex
Adds spaces before return

* Adds wrapInSuspense

* Runs prettier

* Makes checkAndUpdateSafe use generateBatchRequests

* Makes checkAndUpdateSafe use generateBatchRequests

* Fixs check for updates with null address

* Fixs transaction details getNameFromAddressBook

* Fixes zIndex between cookies banner and transaction details

* fix: cast returned values to number

Original code was expecting a BN instance, now it's a plain string.

* Fix replace owner name

* Fix race condition with adbk load

* Fixes replaces owner

* Fixs apps

* Moved hooks into own folder

* Moved LoadStore to routes.js
Refactors LoadStore as Hook
Move LoadStore to hooks folder

* Moves useLoadStore to safes/index

* Revert loadStore place change

* Fixes bug with fetchEtherBalance that causes updateSafe to be called

* remove useLoadStore, add useAnalytics hook

* remove React.memo from SafeView

* Reverts removing useLoadStore in order to maintain the consistency of the code

* rewrite useLoadStore in a more hook-y way, rename it to useLoadSafe

* Removes unnecessary setSafeLoaded

* Removes unnecessary safeLoaded

* fix: Coins values and balances

The app was retrieving ERC20 tokens information from 3 different endpoints.
 - One from `balance/` to have the list updated
 - another from `balance/usd` to have the values in USD
 - the last one from the blockchain, to update the balances
This was all simplified to `balance/usd`.

Also, added a `currencyRate` to be updated when the currency is modified.

The value calculation happens on a component level, so when the `balanceUsd` value is modified, the value is properly reflected on the screen.

Refactored `activateTokensByBalance` to `fetchSafeTokens`, as this was doing quite more than just _activating_ and also added the `currencyList` calculation in it, so everything is updated when `balance/usd` endpoint is requested.

* fix: Balance screen

Collectibles weren't loading when clicking on the link

Also, refactored setState usage, to properly update current state

* fix: featuresEnabled undefined

* fix: add/activate newly received tokens

* fix: NaN Values in Coins for a newly loaded Safe

Was failing to set a default value for the `currencyRate`

* fix: Settings fails to load if `owners` is not loaded into store

Added a `Loader` until the required Safe's data is loaded into store.

* fix: prefetch txs data

When building the Txs list, we requested data for every tx what was translated into several RPC calls.

Now by _batchRequesting_ all the information on beforehand, Safe's loading is a bit faster.

* fix: prevent requesting safe, when there's no safe available in the store

* enhancement: fetch tokens when loading safe

By doing this, when loading a safe in the balance screen we will have tokens immediately loaded into the coins list

* fix: load collectibles when switch to collectibles screen

Collectibles weren't loaded when clicking menu link for a newly loaded safe.

Now every switch to the collectible's screen will trigger a fetch for collectibles.

* fix: fetch only if safe is ready

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

* Fix (#777)

* fix: batchRequest params order

* fix: execute decodeParams for all sendTokenTxs

* fix: proper amount display for tx in TxTable

* Uses formatAmount

* Removes unused code
Fixs params props safe address form

* Fixs composeValidators
Adds composeValidators for apps section

* Makes composeValidatorsApps a wrapper

* Moves composeValidatorsApps to managesApps.js

* Desktop app (#745)

* Set up electron app

* Update dependencies

* Update package.json

* Added https support

* Add support for Ledger

* Updated certs

* Added auto updates messages

* Update auto-updater method

* Update package.json

* Added build resources

* Update preload

* Update Ledger method on mac

* Update build

* Merge with develop

* Added support for Portis

* Fix electron error and updater

* Update auto updater

* Fix dependencies

* Merge with develop

* Change auto update functionality

* Edit package.json and added github actions

* Updated github actions

* Fixed Torus + Update github actions

* Updated release.yml

* Try only ubuntu

* Update package.json

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated safe-contracts

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated deploy branch

* Updated script

Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

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>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

* Update CI Desktop script

* Update CI script for windows

* Development v2 fixes (#822)

* 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)

* Create release.yml

Created script for building desktop app

* Feature #322: Set safeTxGas for newly created transactions (#752)

* Set safeTxGas for newly created transactions

* extending estimation for nested calls WIP

* messing up things to implement safeTxGas estimation

* simplifying base gas calculations

* remove eslint disable

* messing things up to make things work

* bring estimateData back

* pass payload to requiredTxGas

* pass esimateData to estimateDataGasCosts

* remove console log

* use batch requests to estimate safeTxGas

* use const for txGasEstimation

* check the response in request simultion

* sidebar fix

* remove for loop

* Manage Apps (#765)

* 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

* ManageApps partial implementation

* update safe-react-components

* changes

* apps validator

* fix providedBy

* TextField in addApp

* fix checkbox error message

* validation

* adding app

* Manage Apps

* fix modal width

* update package.json

* update netlify url

* fix modal widh

* Set layout to Non-owners allowed error

* some fixes

* Apply suggestions from code review

Co-Authored-By: lukasschor <lukas.schor@gnosis.pm>

* review changes

* fix condition

* Legal Disclaimer

* Better error message

* update yarn.lock

* Error message

* review fixes

* upgrade safe-react-components

* show for all environments

* Disclaimer changes

* review changes

* fix re-render

* visual changes

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>

* fix scroll and fix margin layout

* Add region to travis CI develop (#787)

Enable region for s3 provider to allow upload development environment to different S3 regions

* Feature/travis ci s3 region (#789)

* Add region to travis CI develop

Enable region for s3 provider to allow upload development environment to different S3 regions

* Enable region for staging s3 providers

* fix error on Wrapper

* Add gnosis wc bridge to onboard.js wallets options array (#790)

* Rename incoming-transactions url to incoming-transfers

* Feature #587 - App performance improvement (#738)

* Refactor Balances to functional component
Removes Balances props in Layout.jsx

* Replaces selectors that were using safeParamAddressSelector with safeParamAddressFromStateSelector to avoid the bug of non-loaded safe when called
Also exports extendedTransactionsSelector to let the components use it

* Refactors Transactions.jsx, replaces transactions.tsx with txsTable.jsx
Removes all unused props from transactions.jsx
Makes all childs of txsTable.jsx fetch the props they need instead of sharing all of them even if they are not used

* Adds new selectors: safeNameSelector, safeNeedsUpdateSelector, safeCurrentVersionSelector

* Removes unused props from layout to settings.jsx
Removed props from the settings.jsx childs, now they fetch the values they need directly from the store

* Removes unused redux connect

* Adds safeEthBalanceSelector

* Removes all the props from layout to settings

* Refactor root and layout, extracts checkForUpdate and componentDidMount to components
Extracts header and tabs from Layout.jsx

* Makes routes.jsx use selectors instead of connect to unify the code

* Loads tabs components using react suspense

* Fixs warning when trying to update root component within loadStore.jsx
Replaces safe with safeAddress selector in layout.jsx to reduce the unnecessary rendering
Fixs setState in container.jsx

* Fixs checkForUpdates fetchTokenBalances
Adds FetchTokens.jsx in balances
Adds safeFeaturesEnabledSelector

* Fixs load addressbook action

* Replaces safe with owners in manage owners

* Improves buildSafe promises calls
Improves the loadStorage calls

* Fixs error "Uncaught (in promise) TypeError: Cannot read property 'includes' of undefined"

* Extracts LoadStore from outside the router component to avoid re-loading the store
Adds react lazy for Coins and Collectible tabs

* Reduce the polling rate for fetching transactions

* Removes unused actions.js
Removes unused selector props

* Fixes owners column selector usage

* Fixes processTransaction usage

* Optimize how the transaction list within the transactions tab are loaded

* Fix lint error

* Fix edit addressbook entry

* Fixs show send coins modal

* feature: batchRequest for incoming transactions

* Fixs race condition on loadStore
Fixs check for updates address null validation

* Adds ensureOnceAsync for getGnosisSafeInstanceAt
Adds batch request for safe params

* Removes unnecessary checkAndUpdateSafe from checkForUpdates, now the safe gets updated when a transaction arrives

* Fixs ensureOnce/memoization

* refactor: make a generic generateBatchRequest method

Create a generic method to easily build web3 batch requests

* refactor: use `generateBatchRequest` in `getTokensBalances`

* Removes .toJS in edit entry

* Removes web3 from sendTransactions
Removes pascal case FetchTokens

* Replaces /layout import

* Replaces CheckForUpdates component with useCheckForUpdates hook

* Makes FetchTokens a hook

* Removes getSafeParamsBatch, now the safes gets the data using the generic generateBatchRequests

* Replaces INITIAL_STATUS with INITIAL_STATE

* Replaces regex
Adds spaces before return

* Adds wrapInSuspense

* Runs prettier

* Makes checkAndUpdateSafe use generateBatchRequests

* Makes checkAndUpdateSafe use generateBatchRequests

* Fixs check for updates with null address

* Fixs transaction details getNameFromAddressBook

* Fixes zIndex between cookies banner and transaction details

* fix: cast returned values to number

Original code was expecting a BN instance, now it's a plain string.

* Fix replace owner name

* Fix race condition with adbk load

* Fixes replaces owner

* Fixs apps

* Moved hooks into own folder

* Moved LoadStore to routes.js
Refactors LoadStore as Hook
Move LoadStore to hooks folder

* Moves useLoadStore to safes/index

* Revert loadStore place change

* Fixes bug with fetchEtherBalance that causes updateSafe to be called

* remove useLoadStore, add useAnalytics hook

* remove React.memo from SafeView

* Reverts removing useLoadStore in order to maintain the consistency of the code

* rewrite useLoadStore in a more hook-y way, rename it to useLoadSafe

* Removes unnecessary setSafeLoaded

* Removes unnecessary safeLoaded

* fix: Coins values and balances

The app was retrieving ERC20 tokens information from 3 different endpoints.
 - One from `balance/` to have the list updated
 - another from `balance/usd` to have the values in USD
 - the last one from the blockchain, to update the balances
This was all simplified to `balance/usd`.

Also, added a `currencyRate` to be updated when the currency is modified.

The value calculation happens on a component level, so when the `balanceUsd` value is modified, the value is properly reflected on the screen.

Refactored `activateTokensByBalance` to `fetchSafeTokens`, as this was doing quite more than just _activating_ and also added the `currencyList` calculation in it, so everything is updated when `balance/usd` endpoint is requested.

* fix: Balance screen

Collectibles weren't loading when clicking on the link

Also, refactored setState usage, to properly update current state

* fix: featuresEnabled undefined

* fix: add/activate newly received tokens

* fix: NaN Values in Coins for a newly loaded Safe

Was failing to set a default value for the `currencyRate`

* fix: Settings fails to load if `owners` is not loaded into store

Added a `Loader` until the required Safe's data is loaded into store.

* fix: prefetch txs data

When building the Txs list, we requested data for every tx what was translated into several RPC calls.

Now by _batchRequesting_ all the information on beforehand, Safe's loading is a bit faster.

* fix: prevent requesting safe, when there's no safe available in the store

* enhancement: fetch tokens when loading safe

By doing this, when loading a safe in the balance screen we will have tokens immediately loaded into the coins list

* fix: load collectibles when switch to collectibles screen

Collectibles weren't loaded when clicking menu link for a newly loaded safe.

Now every switch to the collectible's screen will trigger a fetch for collectibles.

* fix: fetch only if safe is ready

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

* Fix (#777)

* fix: batchRequest params order

* fix: execute decodeParams for all sendTokenTxs

* fix: proper amount display for tx in TxTable

* Uses formatAmount

* Removes unused code
Fixs params props safe address form

* Fixs composeValidators
Adds composeValidators for apps section

* Makes composeValidatorsApps a wrapper

* Moves composeValidatorsApps to managesApps.js

* Desktop app (#745)

* Set up electron app

* Update dependencies

* Update package.json

* Added https support

* Add support for Ledger

* Updated certs

* Added auto updates messages

* Update auto-updater method

* Update package.json

* Added build resources

* Update preload

* Update Ledger method on mac

* Update build

* Merge with develop

* Added support for Portis

* Fix electron error and updater

* Update auto updater

* Fix dependencies

* Merge with develop

* Change auto update functionality

* Edit package.json and added github actions

* Updated github actions

* Fixed Torus + Update github actions

* Updated release.yml

* Try only ubuntu

* Update package.json

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated safe-contracts

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated deploy branch

* Updated script

Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

* Update yarn script + SAFE_APPS env variable

* Converts custom token address to checksum version (#793)

* SafeTxGas calculation: Add check for openethereum/parity revert messages (#788)

* add check for openethereum/parity revert messages

* fix isEstimationSuccessful check

* fix estimation check if revert msg is from openethereum

* Issue 796 (#807)

* consume gnosis componentes from npm

* set safe-apps url from environment variable

* fix apps padding and border radius

* Apps updates

* update disclaimer

* fix Loader in TXList

* Fix invalid origin

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>

* (Feature) Tx Table amount notations (#812)

* Fix master conflicts (#819)

* v2.0.0 (#806)

* 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)

* Create release.yml

Created script for building desktop app

* Feature #322: Set safeTxGas for newly created transactions (#752)

* Set safeTxGas for newly created transactions

* extending estimation for nested calls WIP

* messing up things to implement safeTxGas estimation

* simplifying base gas calculations

* remove eslint disable

* messing things up to make things work

* bring estimateData back

* pass payload to requiredTxGas

* pass esimateData to estimateDataGasCosts

* remove console log

* use batch requests to estimate safeTxGas

* use const for txGasEstimation

* check the response in request simultion

* sidebar fix

* remove for loop

* Manage Apps (#765)

* 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

* ManageApps partial implementation

* update safe-react-components

* changes

* apps validator

* fix providedBy

* TextField in addApp

* fix checkbox error message

* validation

* adding app

* Manage Apps

* fix modal width

* update package.json

* update netlify url

* fix modal widh

* Set layout to Non-owners allowed error

* some fixes

* Apply suggestions from code review

Co-Authored-By: lukasschor <lukas.schor@gnosis.pm>

* review changes

* fix condition

* Legal Disclaimer

* Better error message

* update yarn.lock

* Error message

* review fixes

* upgrade safe-react-components

* show for all environments

* Disclaimer changes

* review changes

* fix re-render

* visual changes

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>

* fix scroll and fix margin layout

* Add region to travis CI develop (#787)

Enable region for s3 provider to allow upload development environment to different S3 regions

* Feature/travis ci s3 region (#789)

* Add region to travis CI develop

Enable region for s3 provider to allow upload development environment to different S3 regions

* Enable region for staging s3 providers

* fix error on Wrapper

* Add gnosis wc bridge to onboard.js wallets options array (#790)

* Rename incoming-transactions url to incoming-transfers

* Feature #587 - App performance improvement (#738)

* Refactor Balances to functional component
Removes Balances props in Layout.jsx

* Replaces selectors that were using safeParamAddressSelector with safeParamAddressFromStateSelector to avoid the bug of non-loaded safe when called
Also exports extendedTransactionsSelector to let the components use it

* Refactors Transactions.jsx, replaces transactions.tsx with txsTable.jsx
Removes all unused props from transactions.jsx
Makes all childs of txsTable.jsx fetch the props they need instead of sharing all of them even if they are not used

* Adds new selectors: safeNameSelector, safeNeedsUpdateSelector, safeCurrentVersionSelector

* Removes unused props from layout to settings.jsx
Removed props from the settings.jsx childs, now they fetch the values they need directly from the store

* Removes unused redux connect

* Adds safeEthBalanceSelector

* Removes all the props from layout to settings

* Refactor root and layout, extracts checkForUpdate and componentDidMount to components
Extracts header and tabs from Layout.jsx

* Makes routes.jsx use selectors instead of connect to unify the code

* Loads tabs components using react suspense

* Fixs warning when trying to update root component within loadStore.jsx
Replaces safe with safeAddress selector in layout.jsx to reduce the unnecessary rendering
Fixs setState in container.jsx

* Fixs checkForUpdates fetchTokenBalances
Adds FetchTokens.jsx in balances
Adds safeFeaturesEnabledSelector

* Fixs load addressbook action

* Replaces safe with owners in manage owners

* Improves buildSafe promises calls
Improves the loadStorage calls

* Fixs error "Uncaught (in promise) TypeError: Cannot read property 'includes' of undefined"

* Extracts LoadStore from outside the router component to avoid re-loading the store
Adds react lazy for Coins and Collectible tabs

* Reduce the polling rate for fetching transactions

* Removes unused actions.js
Removes unused selector props

* Fixes owners column selector usage

* Fixes processTransaction usage

* Optimize how the transaction list within the transactions tab are loaded

* Fix lint error

* Fix edit addressbook entry

* Fixs show send coins modal

* feature: batchRequest for incoming transactions

* Fixs race condition on loadStore
Fixs check for updates address null validation

* Adds ensureOnceAsync for getGnosisSafeInstanceAt
Adds batch request for safe params

* Removes unnecessary checkAndUpdateSafe from checkForUpdates, now the safe gets updated when a transaction arrives

* Fixs ensureOnce/memoization

* refactor: make a generic generateBatchRequest method

Create a generic method to easily build web3 batch requests

* refactor: use `generateBatchRequest` in `getTokensBalances`

* Removes .toJS in edit entry

* Removes web3 from sendTransactions
Removes pascal case FetchTokens

* Replaces /layout import

* Replaces CheckForUpdates component with useCheckForUpdates hook

* Makes FetchTokens a hook

* Removes getSafeParamsBatch, now the safes gets the data using the generic generateBatchRequests

* Replaces INITIAL_STATUS with INITIAL_STATE

* Replaces regex
Adds spaces before return

* Adds wrapInSuspense

* Runs prettier

* Makes checkAndUpdateSafe use generateBatchRequests

* Makes checkAndUpdateSafe use generateBatchRequests

* Fixs check for updates with null address

* Fixs transaction details getNameFromAddressBook

* Fixes zIndex between cookies banner and transaction details

* fix: cast returned values to number

Original code was expecting a BN instance, now it's a plain string.

* Fix replace owner name

* Fix race condition with adbk load

* Fixes replaces owner

* Fixs apps

* Moved hooks into own folder

* Moved LoadStore to routes.js
Refactors LoadStore as Hook
Move LoadStore to hooks folder

* Moves useLoadStore to safes/index

* Revert loadStore place change

* Fixes bug with fetchEtherBalance that causes updateSafe to be called

* remove useLoadStore, add useAnalytics hook

* remove React.memo from SafeView

* Reverts removing useLoadStore in order to maintain the consistency of the code

* rewrite useLoadStore in a more hook-y way, rename it to useLoadSafe

* Removes unnecessary setSafeLoaded

* Removes unnecessary safeLoaded

* fix: Coins values and balances

The app was retrieving ERC20 tokens information from 3 different endpoints.
 - One from `balance/` to have the list updated
 - another from `balance/usd` to have the values in USD
 - the last one from the blockchain, to update the balances
This was all simplified to `balance/usd`.

Also, added a `currencyRate` to be updated when the currency is modified.

The value calculation happens on a component level, so when the `balanceUsd` value is modified, the value is properly reflected on the screen.

Refactored `activateTokensByBalance` to `fetchSafeTokens`, as this was doing quite more than just _activating_ and also added the `currencyList` calculation in it, so everything is updated when `balance/usd` endpoint is requested.

* fix: Balance screen

Collectibles weren't loading when clicking on the link

Also, refactored setState usage, to properly update current state

* fix: featuresEnabled undefined

* fix: add/activate newly received tokens

* fix: NaN Values in Coins for a newly loaded Safe

Was failing to set a default value for the `currencyRate`

* fix: Settings fails to load if `owners` is not loaded into store

Added a `Loader` until the required Safe's data is loaded into store.

* fix: prefetch txs data

When building the Txs list, we requested data for every tx what was translated into several RPC calls.

Now by _batchRequesting_ all the information on beforehand, Safe's loading is a bit faster.

* fix: prevent requesting safe, when there's no safe available in the store

* enhancement: fetch tokens when loading safe

By doing this, when loading a safe in the balance screen we will have tokens immediately loaded into the coins list

* fix: load collectibles when switch to collectibles screen

Collectibles weren't loaded when clicking menu link for a newly loaded safe.

Now every switch to the collectible's screen will trigger a fetch for collectibles.

* fix: fetch only if safe is ready

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

* Fix (#777)

* fix: batchRequest params order

* fix: execute decodeParams for all sendTokenTxs

* fix: proper amount display for tx in TxTable

* Uses formatAmount

* Removes unused code
Fixs params props safe address form

* Fixs composeValidators
Adds composeValidators for apps section

* Makes composeValidatorsApps a wrapper

* Moves composeValidatorsApps to managesApps.js

* Desktop app (#745)

* Set up electron app

* Update dependencies

* Update package.json

* Added https support

* Add support for Ledger

* Updated certs

* Added auto updates messages

* Update auto-updater method

* Update package.json

* Added build resources

* Update preload

* Update Ledger method on mac

* Update build

* Merge with develop

* Added support for Portis

* Fix electron error and updater

* Update auto updater

* Fix dependencies

* Merge with develop

* Change auto update functionality

* Edit package.json and added github actions

* Updated github actions

* Fixed Torus + Update github actions

* Updated release.yml

* Try only ubuntu

* Update package.json

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated safe-contracts

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated deploy branch

* Updated script

Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

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>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

* Update CI Desktop script

* Update CI script for windows

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

* Fix apps loader

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>
2020-04-27 15:34:57 -03:00
nicolas 9363485dea
Fix master conflicts (#819)
* v2.0.0 (#806)

* 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)

* Create release.yml

Created script for building desktop app

* Feature #322: Set safeTxGas for newly created transactions (#752)

* Set safeTxGas for newly created transactions

* extending estimation for nested calls WIP

* messing up things to implement safeTxGas estimation

* simplifying base gas calculations

* remove eslint disable

* messing things up to make things work

* bring estimateData back

* pass payload to requiredTxGas

* pass esimateData to estimateDataGasCosts

* remove console log

* use batch requests to estimate safeTxGas

* use const for txGasEstimation

* check the response in request simultion

* sidebar fix

* remove for loop

* Manage Apps (#765)

* 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

* ManageApps partial implementation

* update safe-react-components

* changes

* apps validator

* fix providedBy

* TextField in addApp

* fix checkbox error message

* validation

* adding app

* Manage Apps

* fix modal width

* update package.json

* update netlify url

* fix modal widh

* Set layout to Non-owners allowed error

* some fixes

* Apply suggestions from code review

Co-Authored-By: lukasschor <lukas.schor@gnosis.pm>

* review changes

* fix condition

* Legal Disclaimer

* Better error message

* update yarn.lock

* Error message

* review fixes

* upgrade safe-react-components

* show for all environments

* Disclaimer changes

* review changes

* fix re-render

* visual changes

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>

* fix scroll and fix margin layout

* Add region to travis CI develop (#787)

Enable region for s3 provider to allow upload development environment to different S3 regions

* Feature/travis ci s3 region (#789)

* Add region to travis CI develop

Enable region for s3 provider to allow upload development environment to different S3 regions

* Enable region for staging s3 providers

* fix error on Wrapper

* Add gnosis wc bridge to onboard.js wallets options array (#790)

* Rename incoming-transactions url to incoming-transfers

* Feature #587 - App performance improvement (#738)

* Refactor Balances to functional component
Removes Balances props in Layout.jsx

* Replaces selectors that were using safeParamAddressSelector with safeParamAddressFromStateSelector to avoid the bug of non-loaded safe when called
Also exports extendedTransactionsSelector to let the components use it

* Refactors Transactions.jsx, replaces transactions.tsx with txsTable.jsx
Removes all unused props from transactions.jsx
Makes all childs of txsTable.jsx fetch the props they need instead of sharing all of them even if they are not used

* Adds new selectors: safeNameSelector, safeNeedsUpdateSelector, safeCurrentVersionSelector

* Removes unused props from layout to settings.jsx
Removed props from the settings.jsx childs, now they fetch the values they need directly from the store

* Removes unused redux connect

* Adds safeEthBalanceSelector

* Removes all the props from layout to settings

* Refactor root and layout, extracts checkForUpdate and componentDidMount to components
Extracts header and tabs from Layout.jsx

* Makes routes.jsx use selectors instead of connect to unify the code

* Loads tabs components using react suspense

* Fixs warning when trying to update root component within loadStore.jsx
Replaces safe with safeAddress selector in layout.jsx to reduce the unnecessary rendering
Fixs setState in container.jsx

* Fixs checkForUpdates fetchTokenBalances
Adds FetchTokens.jsx in balances
Adds safeFeaturesEnabledSelector

* Fixs load addressbook action

* Replaces safe with owners in manage owners

* Improves buildSafe promises calls
Improves the loadStorage calls

* Fixs error "Uncaught (in promise) TypeError: Cannot read property 'includes' of undefined"

* Extracts LoadStore from outside the router component to avoid re-loading the store
Adds react lazy for Coins and Collectible tabs

* Reduce the polling rate for fetching transactions

* Removes unused actions.js
Removes unused selector props

* Fixes owners column selector usage

* Fixes processTransaction usage

* Optimize how the transaction list within the transactions tab are loaded

* Fix lint error

* Fix edit addressbook entry

* Fixs show send coins modal

* feature: batchRequest for incoming transactions

* Fixs race condition on loadStore
Fixs check for updates address null validation

* Adds ensureOnceAsync for getGnosisSafeInstanceAt
Adds batch request for safe params

* Removes unnecessary checkAndUpdateSafe from checkForUpdates, now the safe gets updated when a transaction arrives

* Fixs ensureOnce/memoization

* refactor: make a generic generateBatchRequest method

Create a generic method to easily build web3 batch requests

* refactor: use `generateBatchRequest` in `getTokensBalances`

* Removes .toJS in edit entry

* Removes web3 from sendTransactions
Removes pascal case FetchTokens

* Replaces /layout import

* Replaces CheckForUpdates component with useCheckForUpdates hook

* Makes FetchTokens a hook

* Removes getSafeParamsBatch, now the safes gets the data using the generic generateBatchRequests

* Replaces INITIAL_STATUS with INITIAL_STATE

* Replaces regex
Adds spaces before return

* Adds wrapInSuspense

* Runs prettier

* Makes checkAndUpdateSafe use generateBatchRequests

* Makes checkAndUpdateSafe use generateBatchRequests

* Fixs check for updates with null address

* Fixs transaction details getNameFromAddressBook

* Fixes zIndex between cookies banner and transaction details

* fix: cast returned values to number

Original code was expecting a BN instance, now it's a plain string.

* Fix replace owner name

* Fix race condition with adbk load

* Fixes replaces owner

* Fixs apps

* Moved hooks into own folder

* Moved LoadStore to routes.js
Refactors LoadStore as Hook
Move LoadStore to hooks folder

* Moves useLoadStore to safes/index

* Revert loadStore place change

* Fixes bug with fetchEtherBalance that causes updateSafe to be called

* remove useLoadStore, add useAnalytics hook

* remove React.memo from SafeView

* Reverts removing useLoadStore in order to maintain the consistency of the code

* rewrite useLoadStore in a more hook-y way, rename it to useLoadSafe

* Removes unnecessary setSafeLoaded

* Removes unnecessary safeLoaded

* fix: Coins values and balances

The app was retrieving ERC20 tokens information from 3 different endpoints.
 - One from `balance/` to have the list updated
 - another from `balance/usd` to have the values in USD
 - the last one from the blockchain, to update the balances
This was all simplified to `balance/usd`.

Also, added a `currencyRate` to be updated when the currency is modified.

The value calculation happens on a component level, so when the `balanceUsd` value is modified, the value is properly reflected on the screen.

Refactored `activateTokensByBalance` to `fetchSafeTokens`, as this was doing quite more than just _activating_ and also added the `currencyList` calculation in it, so everything is updated when `balance/usd` endpoint is requested.

* fix: Balance screen

Collectibles weren't loading when clicking on the link

Also, refactored setState usage, to properly update current state

* fix: featuresEnabled undefined

* fix: add/activate newly received tokens

* fix: NaN Values in Coins for a newly loaded Safe

Was failing to set a default value for the `currencyRate`

* fix: Settings fails to load if `owners` is not loaded into store

Added a `Loader` until the required Safe's data is loaded into store.

* fix: prefetch txs data

When building the Txs list, we requested data for every tx what was translated into several RPC calls.

Now by _batchRequesting_ all the information on beforehand, Safe's loading is a bit faster.

* fix: prevent requesting safe, when there's no safe available in the store

* enhancement: fetch tokens when loading safe

By doing this, when loading a safe in the balance screen we will have tokens immediately loaded into the coins list

* fix: load collectibles when switch to collectibles screen

Collectibles weren't loaded when clicking menu link for a newly loaded safe.

Now every switch to the collectible's screen will trigger a fetch for collectibles.

* fix: fetch only if safe is ready

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

* Fix (#777)

* fix: batchRequest params order

* fix: execute decodeParams for all sendTokenTxs

* fix: proper amount display for tx in TxTable

* Uses formatAmount

* Removes unused code
Fixs params props safe address form

* Fixs composeValidators
Adds composeValidators for apps section

* Makes composeValidatorsApps a wrapper

* Moves composeValidatorsApps to managesApps.js

* Desktop app (#745)

* Set up electron app

* Update dependencies

* Update package.json

* Added https support

* Add support for Ledger

* Updated certs

* Added auto updates messages

* Update auto-updater method

* Update package.json

* Added build resources

* Update preload

* Update Ledger method on mac

* Update build

* Merge with develop

* Added support for Portis

* Fix electron error and updater

* Update auto updater

* Fix dependencies

* Merge with develop

* Change auto update functionality

* Edit package.json and added github actions

* Updated github actions

* Fixed Torus + Update github actions

* Updated release.yml

* Try only ubuntu

* Update package.json

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated safe-contracts

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated deploy branch

* Updated script

Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

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>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>

* Update CI Desktop script

* Update CI script for windows

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
Co-authored-by: Uxio Fuentefria <uxio@gnosis.pm>
Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>
2020-04-27 18:32:03 +02:00
nicolas 5014e86c3a
Issue 796 (#807)
* consume gnosis componentes from npm

* set safe-apps url from environment variable

* fix apps padding and border radius

* Apps updates

* update disclaimer

* fix Loader in TXList

* Fix invalid origin

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
2020-04-27 18:28:10 +04:00
Mikhail Mikheev 22f31b1173 Merge branch 'master' of github.com:gnosis/safe-react into development 2020-04-24 18:28:19 +04:00
Mati Dastugue c57885d489
Desktop app (#745)
* Set up electron app

* Update dependencies

* Update package.json

* Added https support

* Add support for Ledger

* Updated certs

* Added auto updates messages

* Update auto-updater method

* Update package.json

* Added build resources

* Update preload

* Update Ledger method on mac

* Update build

* Merge with develop

* Added support for Portis

* Fix electron error and updater

* Update auto updater

* Fix dependencies

* Merge with develop

* Change auto update functionality

* Edit package.json and added github actions

* Updated github actions

* Fixed Torus + Update github actions

* Updated release.yml

* Try only ubuntu

* Update package.json

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated safe-contracts

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* v1.9.6

* Updated deploy branch

* Updated script

Co-authored-by: Mati Dastugue <matias.dastugue@mercadolibre.com>
2020-04-24 18:10:37 +04:00
Mikhail Mikheev 0b40190dfc dep buump 2020-04-24 16:33:02 +04:00
Mikhail Mikheev 82decf54aa cherry-pick wc bridge change, bump package.json 2020-04-24 12:52:29 +04:00
Mikhail Mikheev 38eb8ab5f0
Add gnosis wc bridge to onboard.js wallets options array (#790) 2020-04-22 23:03:15 +04:00
nicolas 8ba0e18940
Manage Apps (#765)
* 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

* ManageApps partial implementation

* update safe-react-components

* changes

* apps validator

* fix providedBy

* TextField in addApp

* fix checkbox error message

* validation

* adding app

* Manage Apps

* fix modal width

* update package.json

* update netlify url

* fix modal widh

* Set layout to Non-owners allowed error

* some fixes

* Apply suggestions from code review

Co-Authored-By: lukasschor <lukas.schor@gnosis.pm>

* review changes

* fix condition

* Legal Disclaimer

* Better error message

* update yarn.lock

* Error message

* review fixes

* upgrade safe-react-components

* show for all environments

* Disclaimer changes

* review changes

* fix re-render

* visual changes

Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: lukasschor <lukas.schor@gnosis.pm>
2020-04-21 17:26:41 -03:00
Mikhail Mikheev 204edd635d
Feature #322: Set safeTxGas for newly created transactions (#752)
* Set safeTxGas for newly created transactions

* extending estimation for nested calls WIP

* messing up things to implement safeTxGas estimation

* simplifying base gas calculations

* remove eslint disable

* messing things up to make things work

* bring estimateData back

* pass payload to requiredTxGas

* pass esimateData to estimateDataGasCosts

* remove console log

* use batch requests to estimate safeTxGas

* use const for txGasEstimation

* check the response in request simultion

* sidebar fix

* remove for loop
2020-04-20 14:54:09 +04:00
Mikhail Mikheev 83436e37b2
v1.9.5 (#771)
* 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>
2020-04-16 15:11:24 +04:00
Mati Dastugue a18513a0a5
Added Unilogin provider + support for legacy paths (#719)
* Added unilogin provier + support for legacy path

* Bump onboardjs version
2020-04-16 12:15:03 +04:00
Mikhail Mikheev b1f50c7f3a
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
2020-04-09 17:58:58 +04:00
Fernando b0849ee97f
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
2020-04-09 12:45:29 +04:00