* add back `loadedViaUrl` flag
* implicitly set `loadedViaUrl` to `false` when adding a safe via form or setting its name from Settings
* exclude safes whose `loadedViaUrl` flag is `true`
* hide "Remove Safe" button for safes `loadedViaUrl`
* add `loadedViaUrl` flag to mocked safe
* 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`
* Check if the transaction confirmations reaches the threshold
* Added a notification when transaction doesn't have the confirmations
* Added confirmations verification before opening the execute modal
* button margin on Execute tx modal
* button margin on Advanced option modal
* fix lowercase on modal titles
* button margin and styles on Remove module modal
* button margin on Remove Safe modal
* buttons margins on Add new owner
* button margin and styles on Edit owner name modal
* button margin and styles on Replace owner modals
* fix modal heading height on Add new owner modal
* button margin and styles on Remove owner modals
* button aligmnent on Change required confirmations modal
* buton alignment and styles on create entry modal
* button aligmnent and styles Delete entry modal
* button alignment and styles on Add custom app modal
* add gap to the butons on modals
* add gap
* fix button color on Remove Safe
* add gap on remove module modal
* add gap on Manage Safe Owners
* add gap on Policies modal
* add gap and remove some styles from TxList
* add gap and remove styles on Contract Interaction Modal
* add gap and remove styles from Send funds modal
* add gap and remove styles from Send collectible modal
* fix eslint issues
* upgrade SRC dependency
* remove unused variable
* WIP: common pattern for button status
* WIP: add status to generic Modal buttons
* WIP: text status for App modal
content is restricted to text
* WIP: common patter in settings buttons
* WIP: RemoveLimitModal button status
* add `testId` prop to Modal buttons
* use Modal's buttons status
* add default text for LOADING and READY status in Modal Buttons
* overwritte button text only when necessary
make use of the LOADING/READY default status texts
* create `useButtonStatus` hook to avoid code repetition
* Add `withoutBorder` prop to Modal.Footer
* Adapt Apps Modal footer to use Modal.Footer and Modal.Footer.Buttons
* Update Spending limits modals
* update app modal button text
* add `useButtonStatus` wherever it was missing
* rename and simplify `useButtonStatus`
new name: `useEstimationStatus`
removed `data` as argument, as it is was not adding any benefit
* update `txEstimationExecutionStatus` when no data provided
* Add validation for the hex data in custom contract interaction
* remove old buttons
* use default instead of cases
* set default EstimationStatus to SUCCESS
* Replace footer wrapper with `Modal.Footer`
* rollback EstimationStatus status when no `txData` is present
* fix Modal.Footer styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix New Transaction modals buttons
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix advanced settings styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix settings->owners styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix settings->remove safe modal styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix settings->policies styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix settings->spending limit styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix apps modal styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix txs list modal styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* update Modal props and styles
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix styles for Apps modals
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* cleanup spending limit modal implementation
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix receive modal button
* fix address book modal buttons
* fix receive modal header height
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* fix add owner modal buttons
* fix add owner modal buttons (threshold)
* delete commented code
* fix Advanced option modal buttons and styles on Divider
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* Added import modal and import functionality
* Added modal refactor
* Added entry validations
* Added message after loading file
* Reset values on modal close
* Minor formal changes
* Entry list validations on separate functions
* Minor changes
* Text corrections
* Check if isAddress instead of checksum
* add styles on import
* fix sidebar label for ADDRESS BOOK (with a space)
* fix modal title in lowecase
* replace icons on AB list
* Clear upload feedback on modal close
* add styles to drag and drop area
* add link to Help Center article
* remove unused styles
* change color when is an error
* change error color
* fix error color and align file size
* Modal refactor
* fix button styles on modal
* fix long file names
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
* Set recipient when going back from review
* Updated recipient when props change
* Reset recipient on open modal
* Dont clean address when reviewing collectibles send
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
* Coded exceptions + registry
* adding throwError function
* Log to sentry
* Chore: coded exceptions registry and utils (#2161)
* Add error 600 for token fetching
* Fix constants type error
* Log only the error message on prod
* Add error 601
* PR feedback from Nico
* Add readonly for the public props
* Add isTracked and set it to false for 601
* Add a comment on how to add new errors
* Rename var
* Replace the registry object with an enum
* Add a reverse lookup map
* Duplicate the code in the enum
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>
* Remove UNKNOWN from owner list
* Fetch Safe Name from address book
* Update Safe name in address book when updating from settings > safe details
* Fix lint issue
* 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
* 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>
* 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>