* 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
* 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`
* 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>
* 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>
* 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
* 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>
* 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
* Added help center article link to step 2
* Removed deprecated wallets (#1922)
* Bump new onboardjs version
* Fix notification re-appears (#1925)
* (Fix) - #1775 Nonce of cancel transaction calculation (#1886)
* Fix how the nonce of the cancel transaction is calculated
* make use useState to handle nonce state
* fix to prevent "0" being treated as undefined
* (Fix) - #1707 Cannot use larger numbers in contract interaction (#1863)
* Remove withStyles from TextAreaField and fix name
* Remove any type in handleSubmit from contractInteraction review
* Parses the bignumber value to string
* Added link to docs for custom app modal
* Fix styles to match design
* Fix nonce 0 check (#1941)
* Use tooltip from SRC (#1888)
* Upgrade safe-react-components to latest version
* fix New Transaction button
* Increase the date/time tooltip size
* Feature: Add Mushrooms finance app (#1893)
* add mushrooms finance app
* Migrate to GitHub actions (#1924)
* Add Github action for each network environment
* Move deploy scripts to new folder
* Adapt deploy scripts to Github actions
* Run coveralls only if tests succeed
* Upload sentry source map
* Add Production flag for tagged builds
* Use coveralls Github Action
* Add debug steps to all networks for first release test
* Avoid to remove the current loaded safe data if the batch request fail (#1847)
* Fix gas estimation (#1944)
* Fix gas estimation for threshold > 4
* Update gas estimation to be more precise
* Add threshold gas costs on transaction creation estimation
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* update ipfs hash for wc app (#1954)
* Update endpoint to use new name (#1955)
* (Fix) Transactions 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
* Fix gas estimation (#1959)
* Fix type of fetchSafeCollectibles (#1971)
* Fix transaction list infinite loading (#1973)
* Check transaction list before trying to assing guard element to infinite scroll in pending list (#1972)
* Fix execute if collected signs is > to threshold (#1968)
* Feature: Add lido finance app (#1960)
* Add pooltogether safe app (#1946)
* fix isExecute in useEstimateTransactionGas (#1981)
* Set V3.1.0
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
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>
Co-authored-by: nicosampler <nf.dominguez.87@gmail.com>
* 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>