Commit Graph

372 Commits

Author SHA1 Message Date
Mikhail Mikheev 29ebf6667e
bump truffle version (#2389) 2021-06-08 09:22:55 +02:00
katspaugh add406c42b Merge branch 'master' of github.com:gnosis/safe-react into development 2021-06-07 09:57:21 +02:00
Mikhail Mikheev 7ac1e1efdd
Feature: Relay safe apps sdk getBySafeTxHash api request (#2361)
* install new sdk version

* fix ts errors

* handler scaffold

* add api function for fetching tx, safe app msg handler

* bring back getEnvInfo method

* remove upperFirst where it is not needed

* move upperFirst import
2021-06-03 18:54:21 +04:00
katspaugh 548d6d26ed Merge branch 'development' of github.com:gnosis/safe-react into address-book-v2 2021-06-03 11:58:10 +02:00
dependabot[bot] c1dd274ede
Bump dns-packet from 1.3.1 to 1.3.4 (#2338)
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-28 18:04:41 +02:00
Mikhail Mikheev be39e4a8e3
Feature: Allow apps to request safe balances (#2316)
* add api function fetchTokenBalances, code improvements

* update test

* Update sdk version

* handle getSafeBalances call

* console.log > console.error

* rename declaration file

* rename declaration file, fix types

* use logError func to log error in communicator

* accept currency for getSafeBalance

* sort imports

* add generic error for processing safe apps requests

* add error codes for safe apps

* add usage of error 900

* fix logError usage in getAppInfo
2021-05-27 13:29:46 +04:00
Fernando 019d6cc5dd
[Address Book v2] Make the address book global (#2296)
* WIP: add `chainId` with default value to `AddressBookEntry`

* WIP: first approach to the new AB structure and data persistence in localStorage

* migrate AB

* migrate AB actions

* migrate AB reducers

* update AB selectors

* update AB middlewares

* update AB utils

* update AB model file

* migrate AB usage to the new structure

* change AB notification key name

* fixes after rebase

* add `addressBookBatchLoad` action

* create a selector for owners with AB data

`safeOwnersWithAddressBookDataSelector`

* migrate safe->owners structure

* make `name` and `address` mandatory for `makeAddressBookEntry`

* filter out invalid AB names before storing them

* review Load & Open flow for owner's names

* update owners' reducers and actions

- `editSafeOwner` no longer necessary as there's no name change in the owners' list

* create AB map-like selector

chainId -> address -> name

* auto-complete owner's name if it exist in the AB

* update replace owner modal and remove REPLACE_SAFE_OWNER

- no longer optimistically update the owner's list if threshold === 1, as it behaves erratically with the constant update from data provided by the services
- `REPLACE_SAFE_OWNER` no longer necessary

* update remove owner modal and remove REMOVE_SAFE_OWNER

- no longer optimistically update the owner's list if threshold === 1, as it behaves erratically with the constant update from data provided by the services
- `REMOVE_SAFE_OWNER` no longer necessary

* update add owner modal and remove ADD_SAFE_OWNER

- no longer optimistically update the owner's list if tx is signed, as it behaves erratically with the constant update from data provided by the services
- `ADD_SAFE_OWNER` no longer necessary

* update yarn.lock after rebase

* fix AddressBookMap type

* create a migration function for safe's names

* create selectors that require safe's name

* remove `name` from the safe model and update related code

* JSON.parse if JSON.parsed string returned a string instead of a JSON

* remove commented lines

* rename BATCH_LOAD to SAFE_LOAD

* refactor AddressBookMap to `chainId`->`address`->`AddressBookEntry`

* make `chainId` optional for `getNameFromAddressBookSelector`

* use `addressBookMapSelector` for a more direct AddressBook entry name lookup

* remove `loadedSafeViaUrl` flag, and rely on address book entry instead

* replace `addAddressBookEntry` action with `addressBookAddOrUpdate`
2021-05-26 17:25:01 +02:00
Daniel Sanchez b59dd8ab87 Merge branch 'development' into address-book-v2 2021-05-18 17:56:33 +02:00
Daniel Sanchez ec247d9017
Upgrade dependencies (#2294)
* Upgrade dependencies without breaking changes
2021-05-18 09:28:38 +02:00
Mati Dastugue 839c947e82
[Address Book V2] - Export address book (#2284)
* Add export feature

* Improve Address book export modal

* Use styled-components instead of material-ui styles

* Add comment

* Improve filename + set loading state false when error
2021-05-17 16:55:12 +02:00
nicolas ac2987d999
Consistently render known address with Address Book priority (#2195)
* update SRC

* fix known address to take priority from adress book

* rename useGetTxTo to getTxTo

* Liliya feedback

* Liliya feedback

* fix eslint warning

* Fix customIcon for TX-collapsed if address is in AB

Co-authored-by: katspaugh <katspaugh@users.noreply.github.com>
2021-05-12 12:53:02 +02:00
nicolas ad109668fb
Fix GA problem after disabling cookies. (#2241)
* fix GA problem

* add types for js-cookie

* Cookies util: Add removeCookie and types

* Remove GA cookies when disabling permission

* test remove cookie

* try empty path

* test

* remove cookies using domain

* restore path '/'

* move remove cookies to GA util

Co-authored-by: katspaugh <katspaugh@users.noreply.github.com>
2021-05-11 09:22:15 +02:00
Mati Dastugue 5ee9ef7b84
[Address Book] - Add Import/Export Buttons (#2278)
* Add import/export buttons to addressBook

* Change textSize to icons
2021-05-10 12:40:27 -03:00
dependabot[bot] d899768741
Bump hosted-git-info from 2.8.8 to 2.8.9 (#2270)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 12:41:54 +02:00
Fernando 42291e1208
(Fix) Refactor Safe information retrieval (#2122)
* use client-gateway endpoint for safeInfo

* remove condition to retrieve modules information as client-gateway is already returning the whole list

* create `allSettled` helper function, to divide promises logic from business logic

* set 'UNKNOWN' as default value for owner's record creation

* simplify `fetchSafe` and `buildSafe` logic

* fix check for modules existence

* Add tests for functions used to fetch information

* (Chore) Remove unused code (#2123)

* Not all Collectibles are displayed (#2172)

* replace fetchErc20AndErc721AssetsList by fetchSafeCollectibles

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: katspaugh <katspaugh@gmail.com>
2021-04-30 12:06:38 +02:00
dependabot[bot] 8f7bc319af
Bump ssri from 6.0.1 to 6.0.2 (#2181)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-20 15:38:22 +02:00
Daniel Sanchez 2cd128dac2
Upgrade dependencies (#2162)
* Upgrade sentry and bnc-onboard dependencies

* Upgrade dependencies with minor changes

* Move concurrently to devDependencies and update to lastest version

* Move coveralls to devDependencies

* Upgrade wait-on to latest version
2021-04-14 09:23:12 +02:00
Agustín Longoni 3a117c51bf
Replace Loader by component from SRC (#2119)
* Table: replace CircularProgress compontent

* ScanQR: replace CircularProgress component

* Send Modal: replace CircularProgress component

* infinite scroll loader fix (scroll bounce)

* update the SRC dependency and replace CircularProgress component with Loader
2021-04-14 09:02:07 +02:00
nicolas 9f3ff69a75
Known Addresses V1 (#2113)
* Tx Custom: Add toInfo (icon+name) in table row.

* Custom tx: add to info if available

* update EthHashInfo API usage

Co-authored-by: Fernando <fernando.greco@gmail.com>
2021-04-07 13:10:48 +02:00
Fernando c96e3192ff
(Feature) Proper rejections (#2096)
* remove `isCancelTransaction` utility function in favor of `txInfo.isCancellation` flag provided by client-gateway

* replace "cancel" concept in favor of "reject"

* add circle-cross-red icon to "On-chain rejection" transaction info

Adjust owner's list text color

* identify queued on-chain rejection

* apply styles to on-chain rejection type identifier

* update awaiting messages wording

* fix styles on styles to on-chain rejection

* replace local svg with SRC `Icon` component wherever is possible
2021-04-07 12:40:33 +02:00
Agustín Longoni f8ccff0796
(Fix) Layout inaccuracies (#2072)
Co-authored-by: lukasgnosis <lukas.schor@gnosis.pm>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-03-30 15:46:41 -03:00
nicolas 48b38f550a
Add tx-decoding to safe-apps review modal. (#2061)
* Modal refactor and txs decoded

* Add Stepped modal and split Decoded tx components

* fix bytes param and add word-break to modal

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-03-24 09:58:28 +01:00
Daniel Sanchez 352461658b
Release v3.1.3 - Desktop app (#2045)
* Update release desktop app github action

* Restore yarn install step for desktop build

* Add linux deps for Ledger build in desktop workflow

Update electron to latest v9

* Push back ubuntu version for desktop build

* Set ubuntu 18 for linux desktop app

* Update Desktop App signature

* Set v3.1.3

* Fix AWS credentials configuration for Volta, xDai and EWC

* Remove explicit aws credentials for all networks
2021-03-17 20:04:00 +01:00
Daniel Sanchez 639bb98423
Upgrade dependencies (#2009)
* Upgrade dependencies without breaking changes

* Remove travis leftovers

* Upgrade types dependencies

* Upgrade eslint rules to new prettier configuration
2021-03-09 16:11:09 +01:00
Daniel Sanchez 760a2a2b0f
Revert "Revert "Fix - Copy to clipboard button prevents submit" (#2001)" (#2002)
This reverts commit 0fb02c7333.
2021-03-08 09:46:40 +01:00
Daniel Sanchez 0fb02c7333
Revert "Fix - Copy to clipboard button prevents submit" (#2001) 2021-03-08 09:44:39 +01:00
Mati Dastugue 4fb77297e6 Bump safe components version with copy to clipboard fix 2021-03-05 00:57:54 -03:00
Fernando ae8175aae2
(Fix) Transctions infinite scroll (#1931)
* install `react-intersection-observer` dependency

- also, remove `react-infinite-scroll-component`

* refactor `InfiniteScroll` to be used with `react-intersection-observer`

* build an infinite scroll wrapper for transactions based on `InfiniteScroll`

* recover `TxsInfiniteScrollContext` information to identify the last item in a list

- a new component was created for History transactions: `HistoryTransactions` as a wrapper

* refactor lists to use `TxsInfiniteScrollContext` and identify the last item in the list

* allow to pass config to the InfiniteScroll component

 - also changed default bottom margin so the txs loading starts a bit earlier

* fix memory consumption issue based on nft retrieval/update data

* delay `lastItemId` set to next tick, to prevent multiple updates during the same render phase

* Set triggerOnce to infinitescroll

Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-02-26 22:46:31 +01:00
Mati Dastugue de4c29e474 Line break to modal text 2021-02-23 19:17:29 -03:00
nicolas c8daf7d006
Use tooltip from SRC (#1888)
* Upgrade safe-react-components to latest version

* fix New Transaction button

* Increase the date/time tooltip size

Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
2021-02-23 22:24:07 +01:00
Mati Dastugue ccc6939ef4 Added link to docs for custom app modal 2021-02-22 12:09:13 -03:00
Mati Dastugue 45b24e98fd
Removed deprecated wallets (#1922)
* Remove deprecated wallets

* Bump new onboardjs version
2021-02-22 10:01:51 +01:00
Fernando 47d20aa645
Transaction List v2 (#1781)
* Add types for redux actions (#1737)

* solve errors after rebase

- added `isStoredTransaction` to differentiate tx provided to `isCancelTransaction`

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* Add types + loadGateway transactions cosumer

* add client-gateway endpoints to networks configs

* add client-gateway getters

* WIP: consume gateway-client endpoint

- added the history transactions to the store
- updated types to `/queued` and `/history` endpoints

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* add queued transactions to the store

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* add queued transactions selectors

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* WIP: display history transactions

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* WIP: arrange lists queue/history

* prevent loading data from txs-service

* cherry-pick TokenTransferAmount component

* extract queue transactions logic into a hook `useQueueTransactions`

* Add TxType and TokenTransferAmount components

Co-authored-by: fernandomg <fernando.greco@altoros.com>

* wip: history transactions

* wip: use grid to display list content

* wip: use Accordion

* wip: tx history

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: tx details

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: TxInfo

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: TxSummary

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: TxSettingsInfo

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* Wip: style owners list

Co-authored-by: fernandomg <fernando.greco@altoros.com>

* wip: Owners List

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: TxInfoCreation

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: stop using backOff for client-gateway requests

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* refactor

reorganize files and components

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* refactor

- Accordion implementation
- extract summaryContent to a reusable component

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* Fix prettier issue in src/config/index

* add methods names and descriptions to collapsed row

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* wip: split components to render tx-data depending on the tx type

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* add multiSend tx details

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* refactor TxData

- separate into specified components `HexEncodedData`, `MethodDetails` & `MultiSendDetails`

* remove unused imported type

* wip: infinite-scroll

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* refactor `ADD_HISTORY_TRANSACTIONS` reducer

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* implement infinite scroll pagination

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* avoid defining `page_url` param

* refactor InfiniteScroll implementation

- created a wrapper component to simplify interface
- rearranged code

* add `missingSigners` key to `ExecutionInfo` type

* add `lodash.get`

* update `useTransactionStatus` hook to support queued transactions

* use `lodash.get` to access queued objects

* add votes info to TxCollapsed

* add TxQueueCollapsed

- also update the usage of `useTransactionStatus` hook

* split `TxRow` into `TxHistoryRow` and `TxQueueRow`

* use `txLocation` instead of `title` for `QueueTxList` component

* make `TxDetails` generic

* fix queue list elements arrangement

* export `useTransactionDetails` return type

[skip ci]

* wip: group txs by nonce

[skip ci]

* request tx details on demand

[skip ci]

* display cancelling message in queued transactions only

[skip ci]

* wip: implement tree view for grouped transactions

* styled components

- reorganized
- added comments where necessary
- refactored

* refactor QueueTxList

[skip ci]

* update styled-component

[skip ci]

* refactor

- Accordion implementation
- extract summaryContent to a reusable component

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* update safe-react-components

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* update styled-component

[skip ci]

* fix most-recent list of history transactions update

* make queued transactions list scrollable

* make scrollableTarget a const

* styles fixes

- queued grouped transactions styles
- add styles to scrollbar in scrollable areas

* add safe apps info to tx lists

* wip: add action buttons to tx details

* fix column distribution for transactions rows

* display action count for multiSend transactions

* TxExpandedActions

* add action buttons

- also did a slight refactor around grouped vs. not-grouped transactions

* fix txDetails selector

* adapt button to current SRC specs

* wip: action buttons "action"

- TODO: handle the store update -> screen refresh

* fix execution/confirmation conditions

- fixed modals conditions for execution when last confirmation is able to execute

* fix tree view (no <p> as descendant of <p>)

* wip: handle transactions actions through a context provider

* provide txLocation through context

* fix `react-hooks/exhaustive-deps` warnings

* Sort history list

* Add objects utils

* add `lodash.merge` as a dependency

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* update `ADD_QUEUED_TRANSACTIONS` reducer

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* implement pagination for `queued` transactions

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* prevent rendering action modal if `txDetails` is not available

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* pending status for tx execution

* small style-based behavior fixes

* allow to identify txs to be replaced

* redirect to `gatewayTransaction`

* adjust behavior for grouped vs individual transactions

* add help links

* display execute action only when threshold is reached

* make `setActiveHover` required

* prevent `<p />` as child of `<p />`

* fix cards background colors

* revert staging config

* fix linting errors

* prevent using `no-owner` class in history list

* add `PENDING` status to confirmation transactions

This will mark as _pending_ a transaction by its id, the rest of the txs that share same nonce will remain untouched

* unify action buttons status

- created `useActionButtonsHandler` hook
- extracted `CollapsedActions` into `TxCollapsedActions` component

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* fix wording

* fix pending status

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* fix close Action modal

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* extract `addressInList` as a util function

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* fix action buttons' "disabled" status condition

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* provide proper `to` and `value` for `processTransaction` based on Transfer Type (ERC20, ERC721 or ETHER)

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* update queued transactions pointers if we reached the last page

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* use `as string` for `next` pointer

- also fixed typo

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* add JSDocs

* explicitly discard unused client-gateway headers

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

* add loading status to the queue transactions list

* fix tx actions after rebase of v2.19.1

* fix issue with safe data update

* fix types issues

* skip `isCancelTransaction` tests

* fix loading status for queue transactions

* Update notifications for tx-list v2 (#1839)

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* use `sameString` to verify `method` value

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* TxDetails refactor cancelTxDetails condition

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* remove unused TxType component

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* remove unused `isReadyToExecute` function

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* Fix eslint

* Update txs details after `PENDING` status update

* remove log

* Fix send transaction because of removed notification message

* Cleanup pending unwanted notifications

* wip: ellipsis actions

* wip: ellipsis actions - fix tokenAmount

* Refactor to txInfoDetails

* refactor `TxInfoDetails`

* remove old `utils.tsx` file

* support SpendingLimit transactions

* fix `isSpendingLimitMethod`

* Fix styles for tx list v2 (#1859)

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

* wip: performance enhancement

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

* wip: extract data calculation to a hook

* refactor huge ternaries

* fix columns styles for small screens

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* add extra information for `Cancel` transaction identification

* undo custom selector

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>

* undo custom selector

* Pass `action` by prop to TxDetails

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

* Unify `processTransaction` / `createTransaction` actions

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>

* Disable send again when the user is offline

* set pending status for the executed tx only (not the group by nonce)

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>

* Use gatewayTransactions as default transaction list

* fix styles for TxDetails row

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>

* Remove old transactions list legacy code
Move gatewayTransactions within transactions folder

* Remove allTransactions legacy code

* Types

* Fix redirect after createTransaction

* fix performance issue for `ApproveTxModal`

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>

* fix asset icon size

* fix status wording

* add time tooltip

* add _breadcrumb_

* properly identify non existing nonce

* fix open cookie banner types after merge

* add isCancellation flag support

* fix expanded tx styles

Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com>
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
2021-02-10 17:43:23 +01:00
Agustín Longoni 63cd88d845
Gas calculation info UI fixes (#1861)
* upgrade SRC

* add styles to GasInfo container

* reject modal

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-02-05 18:58:08 +01:00
Daniel Sanchez 038b51e398
Bump dependencies (#1850)
* Upgrade dependencies without breaking changes
2021-02-03 14:15:44 +01:00
nicolas 2ea67b5137
Set transaction parameters manually - Advanced options (#1760)
* Makes getGasEstimationTxResponse exportable

* Add check for failing txs on approveTxModal

* Adds styles for reviewTx

* Adds useTxSuccessCheck hook

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

* Remove logs

* 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

* Remove comment

* 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

* Remove unnecessary styles

* Fix imports

* Remove css

* Fix missing style

* Remove duplicated function

* Fix modal height

* 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 hook dependency

* Add active screen types in send modal

* SafeInfo: replace AddressInfo by EthHashInfo

* Fix review replace/remove/add owner modals styling

* AdvancedOptions without funcionality

* change button text

* fix margins and texts

* fix close button margin

* rename ReviewTx by ReviewSendFundsTx

* safe params: partial implementation

* make use of useTransactionParameters hook

* 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

* form, accordion, validations

* 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

* Add in contractInteraction

* review custom TX

* review collectible

* Type and refactor generateSignaturesFromTxConfirmations
Moves getPreValidatedSignatures to safeTxSigner.ts

* Uses confirmations to estimateGasForTransactionExecution

* Adds TransactionFeesText component
Uses TransactionFeesText on ApproveTxModal

* Update text

* Update text

* Remove unnecessary condition

* Pass more parameters to estimateGasForTransactionExecution

* Removes unnecessary parameter in getNewTxNonce

* Moves checkIfOffChainSignatureIsPossible to safeTxSigner.ts

* rename AdvancedOptions and add parameters in add owner

* replace owner - remove owner

* Fix check for null confirmations

* Uses checkIfOffChainSignatureIsPossible on createTransaction.ts

* Policies

* Move TransactionFailText inside TransactionFees component

* spending limit

* fix textfields gap and margins

* fix margins, text size and textfields disposition

* Remove unnecessary awaits

* Update Accordion comp

* 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

* Remove log

* Fix typo

* merge fixes

* Uses operation in useEstimateTransactionGas

* Uses operation in useEstimateTransactionGas

* add txParameters in ApproveTx

* useEstimateTransactionGas add gasPriceFormatted

* reviewSendFundsTx gasFormatted

* add gasLimit to useEstimateTransactionGas

* Files movement - EditParameters refactor

* tx parameters in creation

* set correct gasPrice

* createTx from contractInteraction

* Fix gas estimation for transaction creation

* disable button while calculating gas

* Add owner - reactor and creation options

* Add owner: remove unused code

* Threshold settings

* fix modal ui bug (tx)

* fix modal ui bug (settings)

* fix modal ui bug (Settings: Policies )

* fix ui bug modal (Spending Limit)

* (Fix) - Calculates gas for SpendingLimit transactions (#1773)

* Bug: Use link tag instead of javascript navigation in apps list (#1770)

* Use list instead of programmable navigation

* add declaration for styled-components theme

* (Fix) - Calculates gas for SpendingLimit transactions (#1773)

* Calculates gas for spendingLimit transactions

* Adds TransactionFees component inside UpdateSafeModal

* Fix send collectible gas calculation

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

* speding limits

* Remove default exports for spendingLimits

* Fix warning in TxParametersDetail

* Extracts calculateSpendingLimitsTxData logic and add types

* Remove txParameters from setSpendingLimitMultiSendTx/spendingLimitMultiSendTx
Adds log for transaction creation success

* Refactor handleSubmit, now uses calculateSpendingLimitsTxData to calculate the spendingLimit transaction data before submitting
Also calculateSpendingLimitsTxData is used to estimate the amount of gas that the transaction will cost

* disable parameters when needed

* fix parametersStatus condition

* Some fixes

* more fixes

* send directly when tx nonce == safeNonce

* fix tests

* parameters in replace owner and remove owner

* Fix gas estimation issues for Metamask

* FIx Edit transaction parameters src route

* Remove default exports RemoveModuleModal

* Adds advanced parameters in RemoveModuleModal

* Fix css styling of UpdateSafeModal

* Adds EditableTxParameters within UpdateSafeModal

* Fix warning in <Accordion> for compact parameter

* Add advanced settings for RemoveLimitModal.tsx

* Fix txNonce usage in RemoveModuleModal.tsx

* Remove logs

* Fix txNonce param in RemoveLimitModal.tsx

* Remove TODOS for refactoring default case of getParametersStatus in EditableTxParameters

* Add advanced parameters to Safe apps modal

* Force gasPrice and safeTxGas 0 for cancelling transaction

* Invert validation of safeTxGas > ethGasLimit, safeTxGas should be < than ethGasLimit

* Add missing validation for approveTxModal submit button

* Fix checkIfTxIsApproveAndExecution  method
Add tests

* Remove duplication of gas value for calculateGasOf

* Fix gas estimation for execution & approval

* Adds EXTRA_NODE_GAS for the gasLimit calculation

* Revert duplicate of web3.eth.estimateGas

* Revert fix of execution & approval

* Adds closeEditModalCallback in EditableTxParameters

* Accept manual gas price in useEstimateTransactionGas.tsx

* Use manualPrice in sendFunds gas estimation

* Add safeTxGas estimation to Editable TX Parameters

* Set safeTx gasPrice to 0 on tx creation

* Refactor useTransactionParameters with initialValues support

* Refactor EditableTxParameters.tsx, fixs changing gasLimit or gasPrice

* Fix safeTxGas

* Add naming to minimum gas required for a transaction

* Remove log

* Fix nonce calculation for cancel transaction

* Update gas estimation to be more precise and avoid reverts

* Check that only the creator of the transaction or the executor could modify the advanced parameters

* Add validation to submit buttons on modals when the gas estimation is loading

* Fix advanced parameters display in change threshold

* Fix wrong commit

Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2021-01-29 21:21:42 +01:00
Daniel Sanchez 012b41a3f7
Feature - Add .crypto domain resolution (#1764)
* (Feature) - Support for .crypto resolution

* Fix EthereumAddress validator error msg

* Extract unstoppable domains logic to an util

* Add singleton to UnstoppableDomains instance

* Shorten address or domain validation error message

Co-authored-by: sudoryan <rleinbox@gmail.com>
2021-01-29 13:07:47 +01:00
Daniel Sanchez c0441e97fa Merge branch 'master' into release/v2.17.1 2021-01-19 16:14:55 +01:00
Agustin Pane 4c45daa2e2 Fix useTxData refactor
Remove unnecessary useTxAmount
2021-01-15 12:35:09 -03:00
Daniel Sanchez 5bcad40c16 Fix electron app image
Update and fix ledger connection for desktop app
2021-01-15 12:04:43 +01:00
Daniel Sanchez 618888ed07
Upgrade dependencies (#1767)
* Deduplicate dependencies

* Upgrade @truffle/contract to latest v4.3.0

* Upgrade dependencies with minor changes

* Upgrade electron-builder configuration

* Upgrade typescript to latest version

* Upgrade safe-apps-sdk to latest version
Remove autoprefixer dependency
2021-01-12 22:33:22 +01:00
Agustín Longoni 31be5b1993
Feature/#1499 add mobile start (#1750)
* add modal, img and card

* add overlay and clean css

* fix breakpoint to 992px (screenMd)

* add mobileView  library

* add link to download app button

* close button styles

* fix close button on hover

* Remove polished rgba for material-ui fade

Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-01-12 20:26:38 +01:00
dependabot[bot] 09b470187f
Bump axios from 0.21.0 to 0.21.1 (#1754)
Bumps [axios](https://github.com/axios/axios) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.0...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-01-12 14:01:34 +01:00
dependabot[bot] 186fb34731
Bump node-notifier from 8.0.0 to 8.0.1 (#1741)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2021-01-12 13:02:04 +01:00
Daniel Sanchez e34b9e74ed Use latest safe-react-components version 2020-12-14 13:53:51 +01:00
Agustín Longoni 1bb3ebce63
Welcome Screen (#1655)
* add cards and styles on texts

* add styles and content

* align card content

* fix text about Safe Multisig

* add new components from SRC

* update SRC

* changes to welcome page

* fix margins

* update SRC

* fix icon size

* update SRC hash

* Dot: replace number by check when wallet is connected

* fix card  width

* add url to help to connect wallet.

* remove underline on button as a link (Load Safe).

* Fix buttons

* disable connect wallet button when there is a connected wallet

* fix padding in New Transaction button

Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-12-11 22:47:07 +01:00
Daniel Sanchez f782c35e31
Clean dependencies warnings (#1716)
* Add resolution for babel version

Update @rescrips/cli to be compatible with react-scripts 4

* Upgrade packages to avoid install warnings
2020-12-11 20:42:13 +01:00
nicolas c9a06ec1c2
Handle console erros and warnings (#1709)
* 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
Mikhail Mikheev 94175a6970
Feature #1593: Support promise-based api of Safe Apps SDK (#1594)
* use multiple versions of safe apps sdk

* use multiple versions of safe apps sdk

* Type fixes

* wip error for multiple versions

* fix multiple sdk versions

* app communicator wip

* communicator wip

* getEnvInfo handler

* update sdk

* app communicator wip

* sdk dep bump

* promisified getSafeInfo

* sendTransactions handler wip

* don't send a response if a handler doesnt return anything

* add handler for transaction sending

* wip rpc call handler

* rpc handler

* rpc handler fix

* V2 Communicator

* remove tsbuildinfo

* fix communicator

* fix error handling for rpc requests

* rpc call fixes

* Update sdk

* Adapting app to use formatters wip

* use messafe formatter from sdk

* Sdk update

* update safe apps sdk version, remove ethBalance from response for safe apps sdk v1

* bump sdk to beta version

* update yarn.lock

* update yarn.lock

* update yarn.lock

* use beta version of the sdk

* enhance validation check

* update dependecies

* Update to python3 dependencies

* Revert "Update to python3 dependencies"

This reverts commit 1332940c77cb649b53ec3e1adfdca10b88e24a87.

* fix transaction params type import

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-12-11 12:31:55 +04:00
nicolas 2fe1fb2794
Remove safe address tracking for GA (#1683)
* reactGA bump

* remove address from GA

* remove unneeded option

* Disable travis cache

* Set travis to use latest linux build image

* Update to use python3 dependencies

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
2020-12-09 20:45:06 +01:00