2
0
mirror of https://github.com/status-im/safe-react.git synced 2025-01-18 13:51:20 +00:00

230 Commits

Author SHA1 Message Date
Agustin Pane
8a774f2e66
(Feature) - Tx will fail warning ()
* Makes getGasEstimationTxResponse exportable

* Add check for failing txs on approveTxModal

* Adds styles for reviewTx

* Adds useTxSuccessCheck hook

* Adds checkIfTxWillFail function

* Uses checkIfTxWillFailAsync on reviewTx modal

* Improves approveTx modal

* Add check for failing transaction in contract interaction modal

* Add check for reviewCollectible

* Fix check on sendFunds reviewTx

* Adds styling for contractInteraction modal

* Fix gas calculation for native token transfers

* Rename estimateDataGasCosts to parseRequiredTxGasResponse
Adds getPreValidatedSignatures
Refactor estimateTxGasCosts
Refactor checkIfExecTxWillFail

* Refactor checkIfExecTxWill usage

* Refactor checkIfTxWillFailAsync in ReviewTx

* Use getPreValidatedSignatures in createTransaction()

* Refactor estimateTxGasCosts
Rename estimateSafeTxGas to estimateExecTransactionGas

* Refactor ReviewTx: extract useEffects to hooks

* Remove unnecessary gas transfer amount

* Refactor estimateTxGasCosts: extract checkIfTxIsExecution and estimateTxGas

* Fix tx amount
Remove console log

* Moves useCheckIfTransactionWillFail to logic/hooks folder

* Replaces useEffect usage with useCheckIfTransactionWillFail hook
Also fix how some modals fetch the safeAddress

* Improves modal's wording

* Fix error parsing the cancel transaction error message from GETH nodes

* Remove useCheckIfTransactionWillFail
Adds useEstimateTransactionGas
Renames estimateTxGas to estimateTransactionGas
Removes estimateTxGasCosts
Removes checkIfExecTxWillFail

* Replace useCheckIfTransactionWillFail from modals with useEstimateTransactionGas

* Replace estimateGasCosts from every review tx modal with useEstimateTransactionGas

* Replace estimateGasCosts from every review tx modal with useEstimateTransactionGas

* Extract isExecution calculation to useEstimateTransactionGas

* Creates TransactionFailText

* Uses TransactionFailText in the review modals

* Fix wrong selector usage

* Fix missing null check on cancel tx confirmations

* Add guard for CLOSE_SNACKBAR action when tx was already dismissed

* Improves useEstimateTransactionGas in review custom tx and contract interaction review

* Fix review replace/remove/add owner modals styling

* Refactor response of useEstimateTransactionGas

* Remove safeAddress as param to the useEstimateTransactionGas

* Improves how threshold is obtained in useEstimateTransactionGas.tsx

* Rename gasCostHumanReadable to gasCostFormatted

* Add operation to useEstimateTransactionGas

* Refactor ConfirmTransactionModal to use useEstimateTransactionGas

* Refactor proccessTransaction to use getPreValidatedSignatures method

* Fix default export of ApproveTxModal

* Rename estimateExecTransactionGas to estimateGasForTransactionCreation
Remove estimateTransactionGas from gas.ts

* Make estimateGasForTransactionCreation throw error instead of 0 gas

* Adds estimateGasForTransactionExecution and estimateGasForTransactionApproval to gas.ts

* Move estimateTransactionGas to useEstimateTransactionGas
Refactors useEstimateTransactionGas to return isCreation and isOffChainSignature

* Type and refactor generateSignaturesFromTxConfirmations
Moves getPreValidatedSignatures to safeTxSigner.ts

* Uses confirmations to estimateGasForTransactionExecution

* Adds TransactionFeesText component
Uses TransactionFeesText on ApproveTxModal

* Pass more parameters to estimateGasForTransactionExecution

* Removes unnecessary parameter in getNewTxNonce

* Moves checkIfOffChainSignatureIsPossible to safeTxSigner.ts

* Fix check for null confirmations

* Uses checkIfOffChainSignatureIsPossible on createTransaction.ts

* Move TransactionFailText inside TransactionFees component

* Pass safeTxGas to useEstimateTransactionGas.tsx
Improves how we use default params

* Fix gas iteration on estimateGasForTransactionExecution

* Fix estimateGasForTransactionExecution calculation

* Fix generateSignaturesFromTxConfirmations calculation

* Remove unnecessary Promise and await

* Fix estimateGasForTransactionExecution for preApproving owner case

* Improve logging

* Uses operation in useEstimateTransactionGas

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Fernando <fernando.greco@gmail.com>
2021-01-13 11:27:07 +01:00
nicolas
c9a06ec1c2
Handle console erros and warnings ()
* Remove Warning: React.createFactory() is deprecated

* make TS recognize Window definition by adding an empty export

* Silent MM warning  ethereum.autoRefreshOnNetworkChange

* remove warning when requesting data from contract with null address.
2020-12-11 19:38:16 +01:00
Agustin Pane
486bb4b203
(Feature) - Replaces createProxy with createProxyWithNonce method no safe creation ()
* Replaces createProxy with createProxyWithNonce method no safe creation

* Updates estimationGas method

* Moves safeCreationSalt as a parameter

* Fix default export

Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
2020-11-19 09:19:31 -03:00
Fernando
9ca9007105
(Feature) - xDai Compatibility ()
* 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 ()

Co-authored-by: Matias Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>

* (Feature) [xDai] Use generic config ()

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

* Filter Apps by network ()

* Filter apps by network

* (Feature) [xDai] - Parametrize ethscan values ()

* (Feature) [xDai] - Use parametrized network values ()

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>

* (Feature) [xDai] - Use tx service for loading token info ()

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>

* (Feature) [xDai] - Visually differentiate networks ()

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

* (Feature) [xDai] - Cosmetic fixes ()

* Add staging configuration for deployment using xDai ()

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

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

* remove any in config/index.ts ()

* [xDai] Parametrize Native Coin ()

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

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

* Add https to safe-xdai apps link

* make getExplorerInfo return values per network ()

* (Fix) "Approve transaction" modal closes ()

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

Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>

* RPC interactions errors ()

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

* (Feature) - Replaces ETH with network native coin ()

* 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
Agustin Pane
8d82086f0c
(Feature) Remove automatic load addressbook owners ()
* Remove the auto adding owners when the safe loads

* Let the user add "invalid names" in the addressbook and also shows them on the addressbook

* Fix update name of safe if addressbook updated

* Removes unused addSafe action, replaces it with addOrUpdateSafe

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-10-05 14:45:51 -03:00
Daniel Sanchez
171b6d9ddc
Update travis script to execute tests ()
* 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
Daniel Sanchez
8efafc1aaa
1265 Restore strict null checks ()
* 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 ()

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

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

This reverts commit 43bc4984b862b7c9c1037bb2c8850e49429c1c19.

* 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
Agustin Pane
f1916e92f1
(Feature) Add unit tests ()
* Test for balances store

* Types for addressBook.ts

* Adds addressBookUtils.test.ts

* Remove duplicated type

* Tests for addressBookUtils

* Adds fetchSafeTokens.test.ts

* Adds getMockedSafeInstance and getMockedTxServiceModel in safeHelper.ts

* Adds shouldExecuteTransaction tests

* Fix types for TransactionProps
And getNewTxNonce

* Adds tests for getNewTxNonce and getLastTx

* Moves utils.test.tsx to /actions folder

* Placeholder for transactionHelpers tests

* isInnerTransaction tests

* calculateTransactionStatus tests

* Adds calculateTransactionType tests

* Adds buildTx test
Adds generateSafeTxHash test

* Absolute imports

* Adds types for getRefundParams

* Adds getRefundParams tests

* Add mock example for isInnerTransaction

* Adds isCancelTransaction tests
Adds isModifySettingsTransaction tests
Adds isMultiSendTransaction tests
Adds isUpgradeTransaction tests
Adds isOutgoingTransaction tests
Adds isCustomTransaction tests

* Adds types in mockNonPayableTransactionObject

* Add TODOS

* Fix shortVersionOf function

* Add ethAddresses.test.ts
Adds sameAddress test
Adds shortVersionOf test
Adds isUserAnOwner test

* Adds isUserAnOwnerOfAnySafe
Adds isValidEnsName

* Fix isERC721Contract

* Adds tokenHelpers.test.ts:
- getEthAsToken
- isTokenTransfer
- getERC20DecimalsAndSymbol
- isERC721Contract

* Fix eslint errors

* Remove unused files

* Use selectors in safeBalance tests

* Move file near his implementation

* Replaces resultExpected with expectedResult

* Update comment

* Reword tests

* Adds utility function description

* Merge with dev
Fix types

* Fix types

* Fix build types

* Mock contract

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-09-14 17:59:28 +02:00
Daniel Sanchez
43bc4984b8
Revert "Tech debt 1265: Enable strictNullChecks TS compiler option ()" ()
This reverts commit bfed9679f7ac4864a2e2be1a48c736aab84ecfe0.
2020-09-09 17:35:27 +02:00
Mikhail Mikheev
bfed9679f7
Tech debt 1265: Enable strictNullChecks TS compiler option ()
* 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
nicolas
03cb4aba96
New layout ()
* 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
nicolas
691ef98048
new TXs tab ()
* new TXs tab

* Removes coverage folder from git

* Adds getAllTxServiceUriTo
Adds types on fetchTransactions

* Adds loadAllTransactions method

* Adds types for allTransactions

* Adds types to loadAllTransactions
Adds urlParams to fetchAllTransactions

* Adds transactionsNew store

* Fetch all transactions endpoint and updates newTransactions store

* Updates transactions types

* Adds newTransactionsHelpers.ts

* Remove white spaces

* Removes immutableJS usage in NewTransactionsState

* Renames getAllTxServiceUriTo to getNewTransactionsServiceUriFrom

* Renames reducer TRANSACTIONS_NEW to TRANSACTIONS

* Removes newTransactions from fetchTransactions.ts

* Adds useFetchNewTransactions hook
Adds uriParams as parameter for loadAllTransactions

* Updates default state

* Adds newTransactionsSelector
Updates newTxsTab behaviour

* Renames eTag to responseEtag

* Fix missing Map type Import in AppReduxState

* Remove generic types

* Adds offset and limit to the NewTransactionsState
Adds currentPageSelector
Adds getNewTransactionsState

* Moves addNewTransactions action to actions/TransactionsNew

* Implements setPreviousPage, setNextPage

* Adds safeNewTransactionsSelector
Adds newTransactionsCurrentPageSelector

* Implements basic pagination on tabs layout

* Remove offset and limit from ADD_NEW_TRANSACTIONS action
Fixs ADD_NEW_TRANSACTIONS reducer implementation

* Improves useFetchNewTransactions usage to avoid re renders

* Fix newTransactionsCurrentPageSelector page calculation

* Fixs newTransactionsCurrentPageSelector
Adds loader state on newTxsTab

* Implements etags by page

* Implements pagination restrictions

* Fix import

* Reduce any's usage

* Replaces JSX.Element with ReactElement

* Fixs types

* Moves all the pagination actions to pagination.ts

* Simplify loadAllTransactions return values

* Replaces limit 100 to 50

* Rename actions

* Fix types

* Add TODO

* Replaces count/transactionsCount to totalTransactionsAmount

* Renames getNewTransactionsServiceUriFrom to getAllTransactionsUriFrom
Add types

* Rename newTxs to Transactions

* Add types to CopyBtn

* Replaces /transactionsNew with /all-transactions

* Replace btn handlers usage

* Uses hash as key

* Replaces redux with params

* Types

* Improves enum types

* Replaces is with boolean

* Merge branch 'development' of https://github.com/gnosis/safe-react into transactions_new

# Conflicts:
#	src/store/index.ts

* Types

* Enums

* Remove tabsValue()

* Moves store from ui to logic folder

* Fix imports

* Add type for new transactions

* Add Gnosis CLA ()

* replace newTransactions with allTransactions

* bring back src/store

* bring back src/store 2

* Fix match type usage

* Merge branch 'development' of https://github.com/gnosis/safe-react into transactions_new

# Conflicts:
#	src/logic/addressBook/store/selectors/index.ts
#	src/logic/safe/transactions/send.ts

* Fix key null warning

* Removes limit and offset from allTransactions State

* Simplify allTransactions state

* Renames transactionsNew folder to allTransactions

* v2.9.0

* bump node in travis to 12

* add overflow hidden to iframe container in safe apps

* Merge branch 'development' of https://github.com/gnosis/safe-react into transactions_new

# Conflicts:
#	src/logic/safe/store/actions/__tests__/utils.test.ts
#	src/logic/safe/store/actions/addSafeModules.ts
#	src/logic/safe/store/reducer/safe.ts
#	src/logic/safe/store/reducer/types/safe.d.ts
#	src/routes/safe/components/Apps/index.tsx
#	src/routes/safe/components/Layout/Tabs/index.tsx
#	src/routes/safe/components/Settings/Advanced/dataFetcher.ts
#	src/routes/safe/components/Transactions/TxsTable/ExpandedTx/OwnersColumn/index.tsx
#	src/routes/safe/components/Transactions/TxsTable/ExpandedTx/TxDescription/CustomDescription.tsx
#	src/routes/safe/container/hooks/useFetchTokens.tsx
#	src/routes/safe/container/hooks/useLoadSafe.tsx
#	src/routes/safe/store/reducer/types/safe.d.ts
#	src/routes/safe/store/reducer/types/safe.ts

* Fix offchain signing

* fix crash when opening a mocked transaction

* Add Balancer Pool and Exchange Apps.

* Feedback, absolute imports

* Types

* Refactor all transactions, adds totalTransactionsAmount on redux

* Absolute path

Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
2020-08-14 12:15:09 -03:00
Fernando
a0ed0a1f31
(Feature) Decode multiSend tx details ()
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-08-04 15:32:09 -03:00
Daniel Sanchez
f374315a5a
Avoid constant creation of new web3 object ()
* 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 ()
* 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
Agustin Pane
bbfa7d8166
(Feature) Balances enhancements ()
* Fix ts error
Add type return on fetchCurrencyValues

* Add skeleton for loading balance value

* Fix texts in uppercase

* Adds ETH Icon in currencyValues dropdown

* Adds getExchangeRatesUrlFallback
Adds support for ETH as currency

* Alphabetically sort currencies

* Add types

* Type formatAmount

* Adds formatAmountInUsFormat util function

* Add types
Uses formatAmountInUsFormat for BALANCE_TABLE_BALANCE_ID

* Updates max and min fraction digits on formatAmountInUsFormat
Add tests

* Updates max and min fraction digits on formatAmountInUsFormat
Add tests

* Add types

* Fix currencyValues types

* Adds safeFiatBalancesTotalSelector

* Adds total balance to safe header

* Fix types

* Adds currentCurrency on header

* Adds types to getTokenPriceInCurrency

* Fix balance currency rate conversion

* Add guards for modules

* Add guards for modules

* Uses console error for api

* Remove anys

* Redefine CurrencyRateValue types into CurrencyRateValueRecord

* Redefine test texts

* Use absolute imports

* Add types to dispatch

* Add guard for no balance value

* Fix ESLINT warning

* Add types

* Fix no balance case

* Use optional chaining

* Absolute paths

* Adds return types
Uses BigNumber in safeFiatBalancesTotalSelector

* Remove number as type for formatAmountInUsFormat

* Uses createStyles to remove any types

* Improve total balances display

* Fix balances value column

* formatAmountInUsFormat feedback

* Force boolean evaluation

* Fix totalBalance heading styles

* Add types

* Add types to fetchTokenCurrenciesBalances endpoint

* Replaces coinbase dependency by backend for ETH price in USD

* Absolute paths

* Replaces RecordOf<TokenProps> with Token

* Feedback

* Trigger buid

* Types

* Fix tests order

* Renames numberFormat to usNumberFormatter

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-07-28 19:29:26 +04:00
Mikhail Mikheev
f62bbffdd3
Tech Debt: Validator Type definitions ()
* 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
Agustin Pane
7458eb0957 Fixs getProviderInfo usage 2020-07-08 10:26:33 -03:00
Agustin Pane
35a118b975 Updates coverage script 2020-06-30 12:06:46 -03:00
Agustin Pane
d7d2305b9c Adds global interface for window.web3 2020-06-25 12:27:38 -03:00
Agustin Pane
8d1ef7ac36 Disable errored tests 2020-06-25 10:36:57 -03:00
Agustin Pane
7fe182db3c Add default provider for node 2020-06-25 08:53:27 -03:00
Fernando
41ec0786b7
(Refactor) Update dataDecoded structure () 2020-06-09 16:15:31 -03:00
fernandomg
7c2f27cf2d chore: clean file 2020-05-27 08:56:47 -03:00
fernandomg
1742f84b86 fix: Hooks import 2020-05-23 03:08:58 -03:00
fernandomg
b4a470a770 chore: fix build after development merge 2020-05-22 16:48:57 -03:00
fernandomg
fb31bcad2b Merge branch 'development' into 536-notifications-status-labels-sync 2020-05-22 00:36:43 -03:00
nicolas
982d79c0d0
Migrating to Typescript and bringing back react-scripts ()
* 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
fernandomg
de65b2914b Merge branch 'development' into 536-notifications-status-labels-sync
# Conflicts:
#	package.json
#	src/routes/safe/components/Transactions/TxsTable/columns.js
#	src/routes/safe/store/actions/fetchTransactions.js
#	yarn.lock
2020-05-07 19:25:19 -03:00
Mati Dastugue
c57885d489
Desktop app ()
* 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
c45ae160ff pull from dev 2020-04-24 17:33:26 +04:00
Agustin Pane
9d784922f2
Feature - App performance improvement ()
* 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>
2020-04-23 11:18:06 -03:00
Mikhail Mikheev
71e4db1345 moving transaction related actions to transactions folder WIP 2020-04-22 18:38:58 +04:00
Mikhail Mikheev
0b7d6f0b24
fix the order of transactions, change updateSafe to upgradeSafe to avoid naming confusion with the updateSafe action () 2020-02-26 08:55:20 +01:00
Agustin Pane
2698dcb6e8
Feature: upgrade contract version from interface ()
* Adds update safe modal

* Implements update safe transaction

* Moves the safeMasterCopyAddress and defaultFallbackHandlerAddress to a constant

* Adds mainnet network
Refactor logic

* Removes the update button to non-owners

* Updates safe-contracts package
Removes hardcoded addresses

* Refactor upgradeSafeToLastVersion
Refactor getSafeVersion
Refactor getEncodedMultiSendCallData
Removes unused constants

Adds tests for getEncodedMultiSendCallData and checkIfSafeNeedUpdate

* Adds retro-compatibility with v1.0.0

* Improves test description

* Fixs comments

* Fix typo
Removes spread

* Exports proxy code to historicProxyCode.js

* Updates yarn.lock
2020-02-17 16:56:23 +04:00
Uxío
e0dfc83f7e Add trailing / to urls () 2020-01-15 13:45:44 +04:00
Germán Martínez
f8e1d192d0 Fix signatures order in txData ()
* Fix signatures order in tx data

* extract generateSignaturesFromTxConfirmations to a separate file, rewrite test for signatures

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-01-13 13:13:44 +01:00
Fernando
2dafa88337 Feature : Show version number ()
* Add `dotenv-expand` as a dependency

* Add app version to sidebar

* Add hardcoded latest safe version to env variables

* Add `semver` to compare current vs latest version

* Add Safe version to Safe Details

* Adjustments in version number
2019-12-18 11:18:58 +01:00
Gabriel Rodriguez Alsina
8848ecd54d (add) cookie banner 2019-11-22 20:23:57 -03:00
Mikhail Mikheev
565e141325 Fix tests (finally): update owners test after we started navigating to transactions page after making a change which creates a tx, handle 404 transactions error and create util function for travelling to owners settings 2019-11-06 18:54:27 +04:00
Mikhail Mikheev
ede2ebbbe1 Test fixes, pass window.web3 to getProviderInfo in test utils, fix creating safe contracts in test env, dep bump 2019-11-06 17:28:16 +04:00
mmv
db54ad812e WIP: Fixing tests, use window.web3 in test setup 2019-11-05 17:58:49 +04:00
mmv
849ed0a9ee Merge branch 'master' of github.com:gnosis/safe-react into 133-send-improvements 2019-10-15 13:29:19 +04:00
mmv
17d42a29b5 Add test case for sending token with 6 decimals, wrap moveFunds helper fireEvent in act() 2019-10-14 17:13:15 +04:00
Mikhail Mikheev
5451f32ff4 Pull from dev, conflict fixes 2019-10-07 15:11:46 +04:00
Mikhail Mikheev
c38325bca5 Update sending funds with threshold > 2 test because 'approve and execute' is pre-checked now 2019-10-04 15:37:35 +04:00
Mikhail Mikheev
0760bfbdc3 Pull from dev, conflict fixes 2019-10-03 18:38:59 +04:00
Mikhail Mikheev
04bfe0a579 Refactor safe model 2019-10-03 18:25:21 +04:00
Germán Martínez
b9501475f8 Start "Safe" with uppercase letter 2019-10-01 11:54:28 +02:00
mmv
957c06879f Add default safe test 2019-09-23 18:53:13 +04:00