* 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>
* 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
* Bump new onboard.js version
* Detect if port is used and change it if needed before starting the server
* Fix icon creation
* Fix formatting
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
* 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
* 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>
* 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>
* Add tooltip info
* Update icon and types
* Hide tooltip when value and balance are equal to 0
* Remove onClick + Improve perfomance issues
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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]`
* 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
* 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>
* 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
Co-authored-by: Fernando <fernando.greco@gmail.com>
* 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
* 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)
Co-authored-by: Fernando <fernando.greco@gmail.com>
* 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