Commit Graph

52 Commits

Author SHA1 Message Date
Agustin Pane bbfa7d8166
(Feature) Balances enhancements (#1122)
* 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 (#1108)
* 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
fernandomg a4d6e224f3 remove optional props 2020-07-18 10:26:32 -03:00
fernandomg d9e428c4ed create `ProviderState`
done out of consistency, but with `ProviderRecord` it would have been enough
2020-07-14 15:00:37 -03:00
fernandomg c314910713 use `TokenState` in AppReduxState 2020-07-14 13:14:37 -03:00
fernandomg 77eb70edf7 Merge branch 'development' into feature/#934-advanced-settings 2020-07-13 13:37:16 -03:00
Agustin Pane 26a358a3af
(Feature) - 1029 Improve Polling behaviour (#1047)
* Adds exponential backOff for fetch methods

* Avoid multiple requests before the last finished

* Removes unused dependency

* Adds try catch

* Fix isFetchingData variable initialization

* Add return type to fetchAllUserCollectiblesByCategoryAsync

* Improve typings for fetchSafeTokens

* Add more types

* Improve types usage

* Improve types usage

* Refactor useCheckForUpdates to avoid calling the actions before they finished

* Updates typing in OpenSea.ts

* Update store types

* Update store types

* Remove unused promises

* useCheckForUPdates & useFetchTokens refactor wip

* enhanced safe state/selector types

* refactor useCheckForUpdates

* improve comment in useSafeScheduledUpdaates

* type enhancements

* use checksumAddress to checksum an address

* dep bump

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
2020-07-06 16:34:14 -03:00
fernandomg 1a095e561b fix state type in collectibles selector 2020-07-01 12:54:27 -03:00
fernandomg dc75d97083 WIP: fix typings (?)
Not so sure about how robust the fix is. But allow me to continue developing
2020-06-30 15:49:47 -03:00
fernandomg ebf8d149a2 WIP: code cleanup and fix typings 2020-06-29 15:46:00 -03:00
fernandomg 376af39f3c refactor: notifications middleware 2020-05-22 16:50:10 -03:00
nicolas 982d79c0d0
Migrating to Typescript and bringing back react-scripts (#933)
* 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
Agustin Pane a98652abe4
(Fix) - 772 safe zero balances (#832)
* Refactor currency values:
- Creates middleware to save currency values on actions
- Replaces currency values model to be safeAddress-dependant
-

* - Adds all the safes balances on safe load
- Saves the currency values status to localStorage on the middleware

* Fixs equals comparation used to avoid unnecessary dispatchs

* Update naming

* Fixs rate type

* Fixs wrong variable usage

* Removes currencyBalances from localStorage, just saves currencyRate and currencyValueSelected

* Renames currencyValueSelected to currencyValueSelected

* Refactors currencyValueSelected to selectedCurrencyValue

* Refactors selectedCurrencyValue to selectedCurrency
2020-05-06 17:03:59 -03:00
Fernando 5359794e21
(Feature) erc721 feature implementation (#570)
* Add Assets sections

* (add) collectibles tab

* (add) criptokitty items

* (add) collectible items, definitive edition

* (fix) collectibles were overlapping with bottom banner

* (fix) wording

* (fix) responsive issues

* Install `async-sema` dependency

* Create collectible source classes

- source from mocked data and opensea, it's extendable to import information from other sources

* Update `Collectible` implementation to use new data source

* Create constants file to better handle env variables and default values

* Add description to item's cards

- also added a mocked class with real data

* Fix `saveTxToHistory`, remove hardcoded `CALL`

* Fix after merge development

* Set background color for collectible based on data info

- Changed `withStyles` in favor of a hook-like approach with `makeStyles`

* Enhance collectible card info and group title

* Use current safeAddress to query for collectibles information

- also migrated from `withStyles` to `makeStyles`

* Use proper key values for lists and set more significant names

* update yarn.lock after merge

* Fix linting error

* Move ethAsToken verification outside loop

* Use absolute route for `SendModal` import

* Move Collectibles into redux store

* Update yarn.lock file

* Selectable NFTs

* Divide the `collectible` store into `nftAssets` and `nftTokens`

- Also updated components to retain functionality
- Created a `textShortener` function for better presentation

* Update `yarn.lock`

* Update `yarn.lock`

* Fix item background color

* Clears the tokenID select field when the collectible selected changes

* Open Send modal from the assets section

* Use token name for the token selection dropdown

* Add openZeppelin contracts dependency

* Create ERC721 getter

* Fix types, default values and clean code

* Fix: properly refresh list of collectibles when switching safes

* Add ReviewCollectible step in send NFT

* Change items shadow

* Give option to choose what to send by clicking 'Send' button in AddressBook

* Disable [Send] button for Collectibles if not owner

* Set Coins as default option in assets tab

- also fixed styles for `Coins` option

* Use collectible icon in send modal

* Set default message when no assets available

- removed pagination feature

* Create SafeVersionProvider to better handle version-related tasks

Provides:
- current and latest versions,
- a boolean indicating a need for update,
- an upgradeSafe callback to trigger upgrade from any place,
- a list of enabled features, depending on the current version
  - the latter needs a refactor like extract features outside the provider
   and define constants for the features.

* Force build

* Update `yarn.lock`

* Disable Manage list for NFTs

* Fix container shadow

- Also fixes tables shadow, thanks to @gabitoesmiapodo

* Enable nested routes for balances (assets) tab

* Default to `/balance` if invalid nested path

* Disable [Send Collectible] button, if not supported by safe

* Change sub-menu buttons to clickable text

* Replace Paragraph with Link

* Fix invalid props errors for Link component

* Fallback to `transferFrom` if `safeTransferFrom` is not implemented

* Use `transfer` as fallback to ERC-721's `safeTransferFrom`

- need to identify ERC721 token using `transfer` and `name` methods

* Display failed transactions

* Use react.lazy for collectibles' modals

* Identify ERC-721 token transaction

* Fix Send Collectibles modal layout/behavior

- disable dropdown list if there's no item to pick
- fix placeholder for tokens list
- fix dropdown list styles

* Set default `isSuccessful` flag to `true`

* Save version related values into store

- each safe has its `currentVersion`, `needsUpdate` and `featuresEnabled`
- and safes store has the `latestMasterContractVersion`

* Migrate Balance to use store-provided values

* Migrate Settings to use store-provided values

* Migrate ChooseTxType to use store-provided values

* Remove SafeVersionProvider

Co-authored-by: Gabriel Rodriguez Alsina <gabriel.rodriguez@altoros.com>
Co-authored-by: apane <agustin.pane@gmail.com>
2020-03-18 17:24:24 -03:00
Fernando 30cbada633
(Fix) Lowercased safes address in URL (#631)
* Return checksummed addrress from `safeParamAddressFromState` selector

* Update `yarn.lock`

* Remove redundant `toChecksumAddress` call

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-03-09 11:08:28 -03:00
Mikhail Mikheev aaa480c2a5
Use hash history (#638)
* v1.7.3 (#611)

* Fix #597: USD value not load (#609)

* Converts all the addresses to checksum values

* Fix for empty address

* fix the order of transactions, change updateSafe to upgradeSafe to avoid naming confusion with the updateSafe action (#610)

* Fix #596: Notification when safe is already updated (#599)

* Fix notification of update if the safe is already updated

* Makes the notification clickable
Displays the notification for owners only

* Identify upgrade tx

* Add red badge to Settings tab

* Fixs Padding
Removes the red dot if the user is not an owner

Co-authored-by: Fernando <fernando.greco@gmail.com>

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

* Update package.json (#612)

* Add public url to prod webpack config (#615)

* add public url to prod webpack config

* modify travis/webpack config to add public url

* add slash

* cherry pick new travis yml merge commit (#620)

* use hash history

Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
2020-03-06 15:59:13 +01:00
Gabriel Rodríguez Alsina 2a8ec9d4db
(add) linter sorting rules (#614)
* (add) linter sorting rules

* (fix) linting errors according to the new rules

Co-authored-by: Fernando <fernando.greco@gmail.com>
2020-02-28 10:58:40 +01:00
Mikhail Mikheev 2c019d1931
Repare new dev and staging enviroments to deploy (#618)
* Repare new dev and staging enviroments to deploy

  - Add to `deploy_pull_requests.sh` to the new path.
  - Replace upload-dir to deploy staging to the new path.

* add /app/ public path for the webapp, remove duplicate yarn build from travis

* add basename to app

* deploy pr to /app

* update travis

* linter error fixes

* fix travis build script

Co-authored-by: David Albela Pérez <3659067+davidalbela@users.noreply.github.com>
2020-02-27 16:21:17 +01:00
Gabriel Rodríguez Alsina 6df5e72135
(Fix) Enforce linting and formatting (#564)
* (remove) unused / old packages / linting script

* (add) eslint / prettier packages and plugins

* (fix) eslint / prettier config

* (add) prettier / eslint scripts

* (fix) linting and formatting problems

* (remove) unused files

* (fix) linting problem that needed to be addressed manually

* (add) pre commit hooks

* (fix) lint-staged config

* (fix) config

* (fix) config

* (check) if pre config formatting works

* Add nvmrc and update yarn.lock

* Update `yarn.lock`

* Make jsx-a11y/no-autofocus report as warn

* Apply lint:fix to project

Co-authored-by: Fernando <fernando.greco@gmail.com>
2020-02-17 19:20:43 -03:00
Fernando 3e5d4f6646
Feature #406: Transaction Cancellation (#451)
* Add `cancel transactions` state to the store

* Populate store with `cancelTransactions` separated from `transactions`

- also fixed some related typing errors/warnings

* Avoid flow typing errors

* WiP - Merge Tx with its cancellation

* Prevent notification of pending transaction

* Mark transaction as cancelled

* Fix check errors

* Code cleanup

* Use `cancel` flags for confirm/execute of a cancelling tx modal

* Fix `Cancel Tx` button row display conditions

* Fix transaction row condition for cancelled tx

* Fix execute icon display conditions

* Fix condition to display `Confirm Tx` buttons for cancel tx

* Fix conditions for Execute icon

* Add test for `getTxTableData`

* Fix `updateAddressBookEntry` to make tests run

* (Feature) Transaction cancellation: implement design (#465)

* (fix) button icons positions

* (add) new buttons layout

* (fix) executor block style

* (remove) unused file

* (fix) transaction timeline styles

* (fix) overflowing left contents

* Show buttons only in the confirmation thread

* Green line on top of Cancel flow only when tx is executed

* Avoid checking `INCOMING_TX_TYPE` for a cancelTx

* Clean up code conditions

* Rename `cancelTransactions` to `cancellationTransactions`

* Start functions with a verb. `get` in this case.

Co-authored-by: Fernando <fernando.greco@gmail.com>

* Change notification message for cancelling txs

- Added `TX_CANCELLATION_EXECUTED_MSG`
- Also did some flow typing error fixes

* missing file for cancelling tx message

* Always display Reject flow

- display buttons independently (reject buttons in reject flow, confirmation buttons in confirmation flow)

* Reject a Tx when threshold is reached

* Use `safeGasPrice` instead of `gasPrice` to prevent sending `null`s to web3

* Revert "Use `safeGasPrice` instead of `gasPrice` to prevent sending `null`s to web3"

This reverts commit db4cd728

* Revert "Use `safeGasPrice` instead of `gasPrice` to prevent sending `null`s to web3"

This reverts commit db4cd728

Also sets '0' as a default value if `gasPrice` is falsy

* Do not use current `threshold` for closed/executed transactions

* Add closing square bracket

* Verify if txNonce is invalid, zero is a falsy value but a valid nonce

* Display Execute Reject for those tx that met the threshold but weren't able to be executed

* Show pending txs messages for non executed rejections

* wrap `getTimelineCircle` into useMemo

* Remove unnecessary comments

* Verify tx nonce by using `Number.isInteger`

* Parse tx nonce before verifying it

Co-authored-by: Gabriel Rodríguez Alsina <gabitoesmiapodo@users.noreply.github.com>
2020-02-04 17:54:59 +04:00
Fernando f64ebf99a1 Fix #381: notification shown after loading safe (#402)
* Prevent notifications from showing after loading safe

* Make a safe-based sessionStorage control

* Show notifications for new Safes and prevent displaying oldest incoming tx for newly loaded Safe

* Create `currentSession` state

* Add `currentSession` to the Store

* Initialize `currentSession`

* Use `currentSession` to handle notifications for incoming Transactions

* Remove `updateUserStatus`

* Move the load of the current session from storage to app startup

* Fix duplicated reducer id

* Adapt notificationsMiddleware
2020-01-16 18:28:28 +01:00
Agustin Pane 523cb7b2c4 #383: Create/Edit/Delete entry (#399)
* Development (#378)

* Adds cookie permissions to localStorage/redux state

* Adds action

* Adds files to git

* (fix) linting issues

* (update) flow-typed

* (update) .eslint and .flowconfig

* (add) cookie banner

* Finish cookie banner implementation

* (Add) checkbox's disabled style.

* Removes redux for cookiesStorage

* Fix cookieStore deletion

* Fixs cookies acceptance

* Fixs cookies banner verbiage
Fix "x" in wrong place for snackbar messages

* (remove) unused library

* Adds cookies utils
Replaces localStorage with cookies
Adds js-cookie

* (fix) added correct polished library and import, updated flow-typed

* (update) removed polish flow type, added js-cookie flow type

* Add link to cookie policy, use generic links for legal docs

* Remove link to cookie policy from sidebar, link cookie policy in the banner

* Let the user re-open the cookie banner

* remove withMutations from cookies reducer, move utils/cookies to logic/cookies

* Now the sidebar closes when the cookie banner is toggled

* Feature #169: Intercom (#301)

* Implements intercom
Adds REACT_APP_INTERCOM_ID_MAINNET and REACT_APP_INTERCOM_ID_RINKEBY env vars

* Adds .env.example

* Adds intercom env vars

* Updates env vars
Replaces "rinkeby" and "mainnet" with "non-production" and "production"

* Now loads intercom after the user accepted the analytics

* Add env variable for production intercom id

* Update .env.example

* Removes react-intercom
Fixs getIntercomId with default dev appID
Now loads intercom as script

* Renegerate flow-types

* Remove 'Hide zero balances' (#310)

* Use medium font size for 'select an asset' label (#312)

* Feature #272: Google Analytics (#299)

* Adds google analytics tracking for every route

* Adds cookies acceptance check before tracking

* Fix react-ga dependency

* Fix cookieStore deletion

* Merge with #189-cookie-banner

* Fixs react ga version
Refactored HOC with hooks

* Fix TYPO

* Fix path for cookies utils

* Fix imports

* remove flow type definition for polish

* Add GA ID log

* Fix load GA After cookies acceptance

* Feature #224: Activate tokens automatically (#300)

* Replace 'Manage Tokens' with 'Manage List'

* prevent 301 redirects

* Add `BLACKLISTED_TOKENS` key to persist through immortal

* Add store/action to extract _activate tokens by its balance_

- keeps already activated tokens
- discards blacklisted tokens
- adds tokens whose vales are bigger than zero and are not blacklisted

* Add `blacklistedTokens` list to safe's store

* Display activeTokensByBalance in 'Balances' screen

* Enable token's blacklisting functionality in Tokens List

* Retrieve balance from API

* Rename action to `activateTokensByBalance`

* Fix linting errors

- line too long
- required return

* Do not persist a separate list into `BLACKLISTED_TOKENS`

* Typo fix (#326)

* Fix security vulnerability: Remove uglifyjs, use terser plugin (#327)

* Remove uglifyjs, use terser plugin

* fix css-loader config

* Feature #256: Sticky header (#308)

* Add sticky header

* Remove react-headroom, set position to fixed for header

* Regenerate yarn lock

* Remove unused headroom style from root.scss

* Pull from dev, conflict fixes

* Update welcome text (#323)

* Feature #137: Tx list improvements (#222)

* Fix swapOwners threshold displayed as hex in tx list

* Refactor spinner in empty table

* Fix number of rows per page in table pagination

* Add use of EtherscanLink component

* Set short version of strings in tx list

* Adjust styles in tx list

* Add more styles to table

* WIP

* An attempt to fix #204 by showing UNKNOWN instead of failed to fetch token symbol

* Table pagination style fixes

* Show confirm transaction button in owner list

* Update dependencies

* Add confirmation icons to owner list in tx list

* exclude unneeded stuff from travis.yml

* Adds cookie permissions to localStorage/redux state

* Update dependencies

* Adds action

* Adds files to git

* (fix) linting issues

* (update) flow-typed

* (update) .eslint and .flowconfig

* (add) cookie banner

* Finish cookie banner implementation

* (Add) checkbox's disabled style.

* Removes redux for cookiesStorage

* Fix cookieStore deletion

* Increase TO_EXP for bignumber.js

* Fixs cookies acceptance

* Fixs cookies banner verbiage
Fix "x" in wrong place for snackbar messages

* (fix) added correct polished library and import, updated flow-typed

* (update) removed polish flow type, added js-cookie flow type

* Add link to cookie policy, use generic links for legal docs

* Remove link to cookie policy from sidebar, link cookie policy in the banner

* Mock Safe creation transaction

* Format code

* Fix break statement

* Remove deployment of storybook

* Let the user re-open the cookie banner

* Update tx status messages and visual confirmation progress

* Fix svg in tx confirmation progress

* Add styles to tx type in tx list

* Replace nonce in tx list with tx id

* Update opacity of cancelled tx

* Fix short version of address

* remove withMutations from cookies reducer, move utils/cookies to logic/cookies

* Now the sidebar closes when the cookie banner is toggled

* Fix styles in tx list

* Add Pending status in tx description

* (remove) unused library

* Adds cookies utils
Replaces localStorage with cookies
Adds js-cookie

* Set 25 rows per page in tx list by default

* Align tx table

* Adjust tx table and tx details borders

* Fix fetching transactions to show Safe creation tx alone

* Fix failed Safe creation transaction

* Add styles to tx data

* Refactor and fix owner list in transaction

* Refactor use of theme variables

* Remove storybook files

* Update dependencies

* Fix warnings

* Fix dependencies

* Update file-loader config

* Fix owner colors in the tx confirmation progress

* Fix transaction type icon height

* Tx list adjustments

* Update readme

* (Feature) Etherscan button icon (#331)

* (add) new open on etherscan button icon

* (remove) unused asset

* (fix) icon background

* Feature #239: Replace early access label with network label (#311)

* Remove early access label

* Revert "Remove early access label"

This reverts commit 34682f0f6d9c1974a6e45c2a31358864931d9c1e.

* Replace early access label with network label

* Capitalzie first letter of the network name

* Adds threshold update on checkAndUpdateSafe (#320)

* Feature #159: Pending transaction that requires user confirmation (#330)

* Creates a new notification: waitingConfirmation
Adds key as optional parameter for notification
Implemented getAwaitingTransactions to get the transactions that needs to be confirmed by the current user
Not fetchTransactions action also dispatch a notification for awaiting transactions
Improved performance of routes/safe/container/index to avoid re-rendering

* Removes notification logic on fetchTransactions
Adds notificationsMiddleware

* Moves fetchTransaction to container

* Removes unused param on fetchTransactions

* Fixs null safe check

* Fixs middleware declaration

* Removes lodash

* Changes cancelled transaction detection logic

* Feature #122: Multisig migration (#315)

* Adds query-string package.json
Parses query string on open layout

* Implements load all the values on openSafe view from param querys

* Adds query params validation

* Moves query parse logic to open.jsx

* Changes default no metamask component on open page

* Replaces global isNaN

* Fix threshold parsing validation

* Updates the welcome component with new verbiage for open

* Renames isOpenSafe to isOldMultisigMigration

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

# Conflicts:
#	src/routes/open/components/Layout.jsx

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

# Conflicts:
#	src/routes/safe/components/Transactions/index.jsx
#	yarn.lock

* set anonymizeIp to true (#335)

* Feature #180: Predict transaction nonce (#293)

* Dep bump

* Fetch transactions when safe view is mounted

* eslint fix

* Calculate new tx nonce from latest tx in service

* Fix tx cancellation, allow passing nonce to createTransaction

* dep bump

* Refactor createTransaction/processTransaction to use object as argument

* Adopting transactions table to new send tx flow with predicted nonces

* dep bump, disable esModule in file-loader options after new v5 release

* Don't show older tx annotation for already executed txs

* sort tx by nonce

* get new safe nonce after tx execution

* Bugfixes

* remove whitespace for showOlderTxAnnotation

* Feature #329: Rename to Multisig (#334)

* Rename to Multisig

* migration text fix

* replace safe for teams with multisig

* Fixs race condition (#341)

Fixs typo

* (Feature) Incoming transactions (#333)

* Add `blockNumber` to transactions model

* Create `incomingTransaction` node in store and load it along with `transactions`

* Add incoming transfers to the Transactions table

* Rename `transactionHash` to `executionTxHash` for better incoming/outgoing txs unification in Transactions table

* Add incoming transactions details

* Add transaction type icon in table row

* Add snackbar notification for incoming txs

* Make incoming transaction snackbar to show on any tab

* Use makeStyles hooks

* Fix incoming amounts conversion from wei

* Make concurrent promise calls

* Use date to calculate transactions ids

* Prevent repeating messages

- also move logic to display snack bar into the notifications middleware

* Merge transactions and incomingTxs to the transactions selector

* Show 'Multiple incoming transfers' if they are more than 3

* Prevent incoming transactions snack bar for first-timer users

* Set ID as the default order

* Use constant for _incoming_ type

* Feature #154: Fiat Balances (#290)

* Adds DropdownCurrency
Adds redux store for currencyValues
Adds Value column on the assets table
Adds mocked currency values

* (add) base currency dropdown

* (add) dropdown styles

* Refactors data fetching of the balances list
Now uses the endpoint

* Fix column value styling

* Adds support for ECB currency values

* Fixs list overflow

* Changes endpoint url
Adds decimals for balance values

* (fix) remove inline style

* (add) currencies dropdown search field

* (fix) list items' hover color

* Implements filter search

* Fix warning on dropdown template

* Saves selected currency in localStorage

* Remove spaces on curly braces
Add alt
Renames rowItem to cellItem
Improves fetchCurrenciesRates handling

* Removes withMutations

* Removes middleware
Export style to another file for dropdownCurrency

* Adds classNames

* Fix incomming transactions fetching (#346)

* Feature: Activate fortmatic (#339)

* Add fortmatic integration to web3connect

* add fortmatic

* Safe open form improvements: limit calling initContracts to 1 time

* update .env.example

* Feature #336: Confirmation required notification for non-owners fix (#338)

* Refactors grantedSelector with isUserOwner function
Checks if the user is owner of the safe before sending notification

* Adds safeParamAddressFromStateSelector
Refactors notificationsMiddleware with new selector

* Remove old size check

* safe notifications middleware fixes

* add apt-get update to travis yml

* (Fix) Incoming transactions inline-styles (#344)

* Remove inline styles

* Replace ternary with logical && operator

* use cn as shortcut for classnames

* Makes minMaxLength 2 to AddCustomToken (#363)

* Fixs ETH display on balances list (#360)

* Bug #348: Safelist entries get removed (#358)

* Fix balances saved to localStorage not in format [tokenAdd, balance] but [balance]

* Updates localStorage version value

* Use submission instead of execution date to sort outgoing txs (#364)

* Feature #190: Sidebar improvements (#347)

* Change icons
Adds checked icon

* Adds safeParamAddressFromStateSelector for get current safe selected
Implements check icon on sidebar

* Remove overflow on sidebar
Start alignments

* Removes headerPlaceholder

* Improves header

* Improves header

* Fix header style

* use sameAddress function to check address eqaulity when fetching transactions (#365)

* Bug #352: Owner shown multiple times (#367)

* Ensure lowercased string comparison for owners' addresses

* Use `sameAddress` for addresses comparison

* Use transaction value as a string (#369)

* Update isTokenTransfer to use value as a string

* Rename error message

* Update dependencies

* Refactor

* Fix alternative token abi and token address for incoming transactions (#373)

* Bug #313: Payload breaks ui (#371)

* Makes minMaxLength 2 to AddCustomToken

* Fix styling

* Fix typo

* Feature #200: Show version number (#370)

* 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

* Fix transaction description value (#377)

* Fix transaction description value

* Remove duplicated symbols

* fix checkAndUpdateSafe logic (#379)

* Update .env.example

* update package json version

* update package json version

* Fix app version in side bar

* add REACT_APP_APP_VERSION global env var

* add react_app_version to build script

* remove react_app_app_version from build-mainnet

* Adds basic addressBook table

* Implements redux and localStorage for addressBook

* Disables loading page on empty address book

* Fix address display

* Adds logic for add entry

* Implements update localStorage and redux state on new entry created

* Updates default row per page

* Renames createEntry modal to createEditEntryModal
Implements edit entry logic

* Fix save/edit entry notification verbiage

* Implements delete entry

* Finish delete entry implementation
Moves update/remove/add entry logic to redux

* Updates defaultRowsPerPage to 25

* Implements sendFunds modal within addressBook
Refactors safeSelector with safeParamAddressFromStateSelector

* Removes unused addressBook container

* Removes unused pops
Renames AddressBookEntry with AddressBookEntry

* Replaces updateAddressBook with addAddressBook

* Fix duplicated entry validation

* Fix edit entry

* Refactor redux addressBook, now saves the data for each safe

* Refactors create/edit/delete entry, now the addressbook is global for all the safes

* Refactor, uses immutable

* Adds variable for hideBorderBottom

* Adds disabled bin icon
Disable the delete button for owner entries

* Adds getAddressBookListSelector

* Simplifies validator logic

* Makes AddressBookEntry an immutable js list

* Fix conflicts in yarn.lock

Co-authored-by: Germán Martínez <germartinez@users.noreply.github.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2020-01-15 13:29:44 +04:00
Agustin Pane 18f8c44741 #391: Display address book (#398)
* Development (#378)

* Adds cookie permissions to localStorage/redux state

* Adds action

* Adds files to git

* (fix) linting issues

* (update) flow-typed

* (update) .eslint and .flowconfig

* (add) cookie banner

* Finish cookie banner implementation

* (Add) checkbox's disabled style.

* Removes redux for cookiesStorage

* Fix cookieStore deletion

* Fixs cookies acceptance

* Fixs cookies banner verbiage
Fix "x" in wrong place for snackbar messages

* (remove) unused library

* Adds cookies utils
Replaces localStorage with cookies
Adds js-cookie

* (fix) added correct polished library and import, updated flow-typed

* (update) removed polish flow type, added js-cookie flow type

* Add link to cookie policy, use generic links for legal docs

* Remove link to cookie policy from sidebar, link cookie policy in the banner

* Let the user re-open the cookie banner

* remove withMutations from cookies reducer, move utils/cookies to logic/cookies

* Now the sidebar closes when the cookie banner is toggled

* Feature #169: Intercom (#301)

* Implements intercom
Adds REACT_APP_INTERCOM_ID_MAINNET and REACT_APP_INTERCOM_ID_RINKEBY env vars

* Adds .env.example

* Adds intercom env vars

* Updates env vars
Replaces "rinkeby" and "mainnet" with "non-production" and "production"

* Now loads intercom after the user accepted the analytics

* Add env variable for production intercom id

* Update .env.example

* Removes react-intercom
Fixs getIntercomId with default dev appID
Now loads intercom as script

* Renegerate flow-types

* Remove 'Hide zero balances' (#310)

* Use medium font size for 'select an asset' label (#312)

* Feature #272: Google Analytics (#299)

* Adds google analytics tracking for every route

* Adds cookies acceptance check before tracking

* Fix react-ga dependency

* Fix cookieStore deletion

* Merge with #189-cookie-banner

* Fixs react ga version
Refactored HOC with hooks

* Fix TYPO

* Fix path for cookies utils

* Fix imports

* remove flow type definition for polish

* Add GA ID log

* Fix load GA After cookies acceptance

* Feature #224: Activate tokens automatically (#300)

* Replace 'Manage Tokens' with 'Manage List'

* prevent 301 redirects

* Add `BLACKLISTED_TOKENS` key to persist through immortal

* Add store/action to extract _activate tokens by its balance_

- keeps already activated tokens
- discards blacklisted tokens
- adds tokens whose vales are bigger than zero and are not blacklisted

* Add `blacklistedTokens` list to safe's store

* Display activeTokensByBalance in 'Balances' screen

* Enable token's blacklisting functionality in Tokens List

* Retrieve balance from API

* Rename action to `activateTokensByBalance`

* Fix linting errors

- line too long
- required return

* Do not persist a separate list into `BLACKLISTED_TOKENS`

* Typo fix (#326)

* Fix security vulnerability: Remove uglifyjs, use terser plugin (#327)

* Remove uglifyjs, use terser plugin

* fix css-loader config

* Feature #256: Sticky header (#308)

* Add sticky header

* Remove react-headroom, set position to fixed for header

* Regenerate yarn lock

* Remove unused headroom style from root.scss

* Pull from dev, conflict fixes

* Update welcome text (#323)

* Feature #137: Tx list improvements (#222)

* Fix swapOwners threshold displayed as hex in tx list

* Refactor spinner in empty table

* Fix number of rows per page in table pagination

* Add use of EtherscanLink component

* Set short version of strings in tx list

* Adjust styles in tx list

* Add more styles to table

* WIP

* An attempt to fix #204 by showing UNKNOWN instead of failed to fetch token symbol

* Table pagination style fixes

* Show confirm transaction button in owner list

* Update dependencies

* Add confirmation icons to owner list in tx list

* exclude unneeded stuff from travis.yml

* Adds cookie permissions to localStorage/redux state

* Update dependencies

* Adds action

* Adds files to git

* (fix) linting issues

* (update) flow-typed

* (update) .eslint and .flowconfig

* (add) cookie banner

* Finish cookie banner implementation

* (Add) checkbox's disabled style.

* Removes redux for cookiesStorage

* Fix cookieStore deletion

* Increase TO_EXP for bignumber.js

* Fixs cookies acceptance

* Fixs cookies banner verbiage
Fix "x" in wrong place for snackbar messages

* (fix) added correct polished library and import, updated flow-typed

* (update) removed polish flow type, added js-cookie flow type

* Add link to cookie policy, use generic links for legal docs

* Remove link to cookie policy from sidebar, link cookie policy in the banner

* Mock Safe creation transaction

* Format code

* Fix break statement

* Remove deployment of storybook

* Let the user re-open the cookie banner

* Update tx status messages and visual confirmation progress

* Fix svg in tx confirmation progress

* Add styles to tx type in tx list

* Replace nonce in tx list with tx id

* Update opacity of cancelled tx

* Fix short version of address

* remove withMutations from cookies reducer, move utils/cookies to logic/cookies

* Now the sidebar closes when the cookie banner is toggled

* Fix styles in tx list

* Add Pending status in tx description

* (remove) unused library

* Adds cookies utils
Replaces localStorage with cookies
Adds js-cookie

* Set 25 rows per page in tx list by default

* Align tx table

* Adjust tx table and tx details borders

* Fix fetching transactions to show Safe creation tx alone

* Fix failed Safe creation transaction

* Add styles to tx data

* Refactor and fix owner list in transaction

* Refactor use of theme variables

* Remove storybook files

* Update dependencies

* Fix warnings

* Fix dependencies

* Update file-loader config

* Fix owner colors in the tx confirmation progress

* Fix transaction type icon height

* Tx list adjustments

* Update readme

* (Feature) Etherscan button icon (#331)

* (add) new open on etherscan button icon

* (remove) unused asset

* (fix) icon background

* Feature #239: Replace early access label with network label (#311)

* Remove early access label

* Revert "Remove early access label"

This reverts commit 34682f0f6d9c1974a6e45c2a31358864931d9c1e.

* Replace early access label with network label

* Capitalzie first letter of the network name

* Adds threshold update on checkAndUpdateSafe (#320)

* Feature #159: Pending transaction that requires user confirmation (#330)

* Creates a new notification: waitingConfirmation
Adds key as optional parameter for notification
Implemented getAwaitingTransactions to get the transactions that needs to be confirmed by the current user
Not fetchTransactions action also dispatch a notification for awaiting transactions
Improved performance of routes/safe/container/index to avoid re-rendering

* Removes notification logic on fetchTransactions
Adds notificationsMiddleware

* Moves fetchTransaction to container

* Removes unused param on fetchTransactions

* Fixs null safe check

* Fixs middleware declaration

* Removes lodash

* Changes cancelled transaction detection logic

* Feature #122: Multisig migration (#315)

* Adds query-string package.json
Parses query string on open layout

* Implements load all the values on openSafe view from param querys

* Adds query params validation

* Moves query parse logic to open.jsx

* Changes default no metamask component on open page

* Replaces global isNaN

* Fix threshold parsing validation

* Updates the welcome component with new verbiage for open

* Renames isOpenSafe to isOldMultisigMigration

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

# Conflicts:
#	src/routes/open/components/Layout.jsx

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

# Conflicts:
#	src/routes/safe/components/Transactions/index.jsx
#	yarn.lock

* set anonymizeIp to true (#335)

* Feature #180: Predict transaction nonce (#293)

* Dep bump

* Fetch transactions when safe view is mounted

* eslint fix

* Calculate new tx nonce from latest tx in service

* Fix tx cancellation, allow passing nonce to createTransaction

* dep bump

* Refactor createTransaction/processTransaction to use object as argument

* Adopting transactions table to new send tx flow with predicted nonces

* dep bump, disable esModule in file-loader options after new v5 release

* Don't show older tx annotation for already executed txs

* sort tx by nonce

* get new safe nonce after tx execution

* Bugfixes

* remove whitespace for showOlderTxAnnotation

* Feature #329: Rename to Multisig (#334)

* Rename to Multisig

* migration text fix

* replace safe for teams with multisig

* Fixs race condition (#341)

Fixs typo

* (Feature) Incoming transactions (#333)

* Add `blockNumber` to transactions model

* Create `incomingTransaction` node in store and load it along with `transactions`

* Add incoming transfers to the Transactions table

* Rename `transactionHash` to `executionTxHash` for better incoming/outgoing txs unification in Transactions table

* Add incoming transactions details

* Add transaction type icon in table row

* Add snackbar notification for incoming txs

* Make incoming transaction snackbar to show on any tab

* Use makeStyles hooks

* Fix incoming amounts conversion from wei

* Make concurrent promise calls

* Use date to calculate transactions ids

* Prevent repeating messages

- also move logic to display snack bar into the notifications middleware

* Merge transactions and incomingTxs to the transactions selector

* Show 'Multiple incoming transfers' if they are more than 3

* Prevent incoming transactions snack bar for first-timer users

* Set ID as the default order

* Use constant for _incoming_ type

* Feature #154: Fiat Balances (#290)

* Adds DropdownCurrency
Adds redux store for currencyValues
Adds Value column on the assets table
Adds mocked currency values

* (add) base currency dropdown

* (add) dropdown styles

* Refactors data fetching of the balances list
Now uses the endpoint

* Fix column value styling

* Adds support for ECB currency values

* Fixs list overflow

* Changes endpoint url
Adds decimals for balance values

* (fix) remove inline style

* (add) currencies dropdown search field

* (fix) list items' hover color

* Implements filter search

* Fix warning on dropdown template

* Saves selected currency in localStorage

* Remove spaces on curly braces
Add alt
Renames rowItem to cellItem
Improves fetchCurrenciesRates handling

* Removes withMutations

* Removes middleware
Export style to another file for dropdownCurrency

* Adds classNames

* Fix incomming transactions fetching (#346)

* Feature: Activate fortmatic (#339)

* Add fortmatic integration to web3connect

* add fortmatic

* Safe open form improvements: limit calling initContracts to 1 time

* update .env.example

* Feature #336: Confirmation required notification for non-owners fix (#338)

* Refactors grantedSelector with isUserOwner function
Checks if the user is owner of the safe before sending notification

* Adds safeParamAddressFromStateSelector
Refactors notificationsMiddleware with new selector

* Remove old size check

* safe notifications middleware fixes

* add apt-get update to travis yml

* (Fix) Incoming transactions inline-styles (#344)

* Remove inline styles

* Replace ternary with logical && operator

* use cn as shortcut for classnames

* Makes minMaxLength 2 to AddCustomToken (#363)

* Fixs ETH display on balances list (#360)

* Bug #348: Safelist entries get removed (#358)

* Fix balances saved to localStorage not in format [tokenAdd, balance] but [balance]

* Updates localStorage version value

* Use submission instead of execution date to sort outgoing txs (#364)

* Feature #190: Sidebar improvements (#347)

* Change icons
Adds checked icon

* Adds safeParamAddressFromStateSelector for get current safe selected
Implements check icon on sidebar

* Remove overflow on sidebar
Start alignments

* Removes headerPlaceholder

* Improves header

* Improves header

* Fix header style

* use sameAddress function to check address eqaulity when fetching transactions (#365)

* Bug #352: Owner shown multiple times (#367)

* Ensure lowercased string comparison for owners' addresses

* Use `sameAddress` for addresses comparison

* Use transaction value as a string (#369)

* Update isTokenTransfer to use value as a string

* Rename error message

* Update dependencies

* Refactor

* Fix alternative token abi and token address for incoming transactions (#373)

* Bug #313: Payload breaks ui (#371)

* Makes minMaxLength 2 to AddCustomToken

* Fix styling

* Fix typo

* Feature #200: Show version number (#370)

* 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

* Fix transaction description value (#377)

* Fix transaction description value

* Remove duplicated symbols

* fix checkAndUpdateSafe logic (#379)

* Update .env.example

* update package json version

* update package json version

* Fix app version in side bar

* add REACT_APP_APP_VERSION global env var

* add react_app_version to build script

* remove react_app_app_version from build-mainnet

* Adds basic addressBook table

* Implements redux and localStorage for addressBook

* Disables loading page on empty address book

* Fix address display

* Updates defaultRowsPerPage to 25

* Removes unused pops
Renames AddressBookEntry with AddressBookEntry

* Replaces updateAddressBook with addAddressBook

Co-authored-by: Germán Martínez <germartinez@users.noreply.github.com>
2020-01-09 12:08:40 +04:00
Agustin Pane 63c1153772
Feature #154: Fiat Balances (#290)
* Adds DropdownCurrency
Adds redux store for currencyValues
Adds Value column on the assets table
Adds mocked currency values

* (add) base currency dropdown

* (add) dropdown styles

* Refactors data fetching of the balances list
Now uses the endpoint

* Fix column value styling

* Adds support for ECB currency values

* Fixs list overflow

* Changes endpoint url
Adds decimals for balance values

* (fix) remove inline style

* (add) currencies dropdown search field

* (fix) list items' hover color

* Implements filter search

* Fix warning on dropdown template

* Saves selected currency in localStorage

* Remove spaces on curly braces
Add alt
Renames rowItem to cellItem
Improves fetchCurrenciesRates handling

* Removes withMutations

* Removes middleware
Export style to another file for dropdownCurrency

* Adds classNames
2019-12-13 11:35:05 -03:00
Fernando d69e5fca7f (Feature) Incoming transactions (#333)
* Add `blockNumber` to transactions model

* Create `incomingTransaction` node in store and load it along with `transactions`

* Add incoming transfers to the Transactions table

* Rename `transactionHash` to `executionTxHash` for better incoming/outgoing txs unification in Transactions table

* Add incoming transactions details

* Add transaction type icon in table row

* Add snackbar notification for incoming txs

* Make incoming transaction snackbar to show on any tab

* Use makeStyles hooks

* Fix incoming amounts conversion from wei

* Make concurrent promise calls

* Use date to calculate transactions ids

* Prevent repeating messages

- also move logic to display snack bar into the notifications middleware

* Merge transactions and incomingTxs to the transactions selector

* Show 'Multiple incoming transfers' if they are more than 3

* Prevent incoming transactions snack bar for first-timer users

* Set ID as the default order

* Use constant for _incoming_ type
2019-12-13 17:45:28 +04:00
Agustin Pane f0b3172abe Feature #159: Pending transaction that requires user confirmation (#330)
* Creates a new notification: waitingConfirmation
Adds key as optional parameter for notification
Implemented getAwaitingTransactions to get the transactions that needs to be confirmed by the current user
Not fetchTransactions action also dispatch a notification for awaiting transactions
Improved performance of routes/safe/container/index to avoid re-rendering

* Removes notification logic on fetchTransactions
Adds notificationsMiddleware

* Moves fetchTransaction to container

* Removes unused param on fetchTransactions

* Fixs null safe check

* Fixs middleware declaration

* Removes lodash

* Changes cancelled transaction detection logic
2019-12-11 14:06:38 +04:00
apane d2a7ff94cb Let the user re-open the cookie banner 2019-12-03 14:14:33 -03:00
apane 26b420742d Fix cookieStore deletion 2019-11-26 11:03:00 -03:00
apane a4b92ca4e1 Adds cookie permissions to localStorage/redux state 2019-11-19 16:32:54 -03:00
mmv 8f14494811 implement providerWatcher middleware 2019-10-22 18:25:03 +04:00
Mikhail Mikheev de16a0cdec Gas estimations for approving TX wip, fix notifications reducer which led to infinite loop during HMR 2019-10-10 18:25:33 +04:00
Germán Martínez d4ed0d7f4a Add models, reducers, actions and selectors for notification handling 2019-09-25 15:08:33 +02:00
Germán Martínez f8c9539e68 Format code 2019-09-24 11:38:59 +02:00
Mikhail Mikheev 99fd7db46a load default safe on initial load wip 2019-09-19 13:30:13 +04:00
Mikhail Mikheev 3373b83a27 storage middleware wip, add optimization comment 2019-04-16 16:13:28 +04:00
Mikhail Mikheev e33c90c230 load safes from localstorage on app load 2019-04-04 17:35:32 +04:00
Mikhail Mikheev 745bb06962 move tokens stuff to logic folder because in the new mockups their functionality moved to safe page 2019-03-20 19:13:53 +04:00
mmv 8ac4cd5b1a wip fixing tests, fix toNative function, remove deprecated property from TableCell 2019-03-18 19:30:33 +04:00
mmv 5b2fb5f87f Dependencies bump, fix babel configuration, use connected-react-router instead of react-redux-router 2019-03-05 17:46:49 +04:00
apanizo a2892ea4eb #73 Adding getState type for redux-thunk actions 2018-10-26 15:14:34 +02:00
apanizo c5e378be6e #73 Adding Safes model to redux store when loading the app 2018-10-26 11:01:07 +02:00
apanizo 5451c15274 WA-521 Do not init redux with txs data when loading app 2018-08-14 12:59:52 +02:00
apanizo be9bdd25c1 WA-521 Refactor ethereum modules under logic folder 2018-08-13 18:37:48 +02:00
apanizo 0b5d14c8f2 WA-232 tokens route 2018-07-10 15:20:55 +02:00
apanizo aec0b50200 WA-234 Loading safes info from Ethereum Node 2018-06-07 22:10:10 +02:00
apanizo 89b1b5ffe0 WA-238 adding transactions property to redux store 2018-05-22 11:23:41 +02:00
apanizo 63cb857b7b WA-238 Rename calculateInitialState to safeInitialState 2018-05-22 11:07:38 +02:00
apanizo 01977f91cd WA-230 Adding get balance selector using rr match props. Included tests 2018-04-17 11:37:01 +02:00
apanizo 2fa204a693 WA-230 Adding fetchBalance action. Included tests 2018-04-17 10:05:08 +02:00
apanizo 5ddc5f7afe WA-230 Including balances reducer in store 2018-04-17 09:39:27 +02:00