1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-23 11:46:13 +02:00
Commit Graph

2180 Commits

Author SHA1 Message Date
Dan J Miller
6a4df0dc3f
Adds Wyre Widget (#6434)
* Adds Wyre widget to the deposit modal.

* Move wyre widget code to vendor directory

* Get Wyre widget working without metamask connect/sign steps

* Code cleanup for wyre changes

* Change wyre widget to using prod environment

* Remove code allowing signing of wyre messages without confirmations

* Update wyre vendor code for wyre 2.0

* Remove unnecessary changes to provider approval constructor, triggerUI and openPopup

* Fix Wyre translation message

* Delete no longer used signature-request-modal

* Fix documentation of matches function in utils/util.js

* Code cleanup on wyre branch

* Remove front end code changes not needed to support wyre v2
2019-11-04 11:13:24 -03:30
Terry Smith
57a29668f3 New signature request v3 UI (#6891)
* Refactoring signature-request out to a new component. Wip

* Styling polish and a better message display.

* Update signature request header to no longer use account dropdown mini

* Clean up code and styles

* Code cleanup for signature request redesign branch

* Fix signature request design for full screen

* Replace makenode with object.entries in signature-request-message.component.js

* Remove unused accounts prop from signature-request.component.js

* Use beforeunload  instead of window.onbeforeunload in signature-request
2019-11-04 09:10:46 -03:30
Whymarrh Whitby
eed4a9ed65
ENS Reverse Resolution support (#7177)
* ENS Reverse Resolution support
* Save punycode for ENS domains with Unicode characters
* Update SenderToRecipient recipientEns tooltip
* Use cached results when reverse-resolving ENS names
* Display ENS names in tx activity log
2019-11-01 15:24:00 -02:30
Kristian Tapia
f9cd775eae Add Estimated time to pending tx (#6924)
* Add estimated time to pending transactions

* add sytles for pending transactions component

* add media queries styling for pending transactions component

* fix lint errors, remove extra spaces

* refactor code to call `fetchBasicGasAndTimeEstimates` method once

* refactor code to call `getgetRenderableTimeEstimate` method once

* fix, correct export to use `transaction-time-remaining-component`

* fix indentation issues after running `yarn lint`

* newBigSigDig in gas-price-chart.utils supports strings

* Code cleanup

* Ensure fetchBasicGasAndTimeEstimates is only called from tx-list if there are pending-txs

* Move gas time estimate utilities into utility file

* Move getTxParams to transaction selector file

* Add feature flag for display of remaining transaction time in tx history list

* Fix circular dependency by removing unused import of transactionSelector in selectors.js

* Use correct feature flag property name transactionTime

* Ensure that tx list component correctly responds to turning tx time feature on

* Prevent precision errors in newBigSigDig

* Code clean up for pending transaction times

* Update transaction-time-remaining feature to count down seconds, countdown seconds and show '< 30'

* Code clean up for transaction-time-remaining feature
2019-10-31 23:21:28 -02:30
Mark Stacey
fe28e0d134
Cleanup beforeunload handler after transaction is resolved (#7333)
* Cleanup beforeunload handler after transaction is resolved

The notification window was updated to reject transactions upon close
in #6340. A handler that rejects the transaction was added to
`window.onbeforeunload`, and it was cleared in `actions.js` if it was
confirmed or rejected.

However, the `onbeforeunload` handler remained uncleared if the
transaction was resolved in another window. This results in the
transaction being rejected when the notification window closes, even
long after the transaction is submitted and confirmed. This has been
the cause of many problems with the Firefox e2e tests.

Instead the `onbeforeunload` handler is cleared in the
`componentWillUnmount` lifecycle function, alongside where it's set in
the first place. This ensures that it's correctly unset regardless
of how the transaction was resolved, and it better matches user
expectations.

* Fix indentation and remove redundant export

The `run-all.sh` Bash script now uses consistent indentation, and is
consistent about only re-exporting the Ganache arguments when they
change.

* Ensure transactions are completed before checking balance

Various intermittent e2e test failures appear to be caused by React
re-rendering the transaction list during the test, as the transaction
goes from pending to confirmed. To avoid this race condition, the
transaction is now explicitly looked for in the confirmed transaction
list in each of the tests using this pattern.

* Enable all e2e tests on Firefox

The remaining tests that were disabled on Firefox now work correctly.
Only a few timing adjustments were needed.

* Update Firefox used in CI

Firefox v70 is now used on CI instead of v68. This necessitated
rewriting the function where the extension ID was obtained because the
Firefox extensions page was redesigned.
2019-10-31 13:27:22 -03:00
Mark Stacey
ab0eae1ed3
Rename ConfirmPageContainerHeader class (#7322)
The class has been renamed to reflect that it is a header, to avoid
having the same name as the `ConfirmPageContainer` component. Multiple
components with the same name can lead to confusing error messages.
2019-10-30 16:18:57 -03:00
Mark Stacey
8dfb0e8154
Add hostname and extensionId to site metadata (#7218)
If the extension ID is set, an alternate title and subtitle are used
for the Connect Request screen. The title is always `External
Extension`, and the subtitle is `Extension ID: [id]` instead of the
origin (which would just be `[extension-scheme]://[id]` anyway).

The hostname for the site is used as a fallback in case it has no
title.

The artificial hostname set for internal connections has been renamed
from 'MetaMask' to 'metamask' because URL objects automatically
normalize hostnames to be all lower-case, and it was more convenient to
use a URL object so that the parameter would be the same type as used
for an untrusted connection.
2019-10-29 13:14:41 -03:00
Dan J Miller
b89d96e61a
Specify row height in grid template of transaction list items to fix status spacing issue (#7319) 2019-10-28 20:48:33 -02:30
ricky
af888d0ab2 Add "Retry" option for failed transactions (#7296)
* Begin mocking out retry ui

* Remove "Failed"

* I guess this works?

* Update corresponding test

* wip

* Ok, this appears to be working now

* cleanup

* Move this back to 3

* I don't think I need this

* Rename showRetry to showSpeedUp

* Address PR feedback

* Remove notes

* Rename shouldShowRetry -> shouldShowSpeedUp

* oops
2019-10-28 10:58:46 -02:30
Mark Stacey
ba25d52670
Use AdvancedGasInputs in AdvancedTabContent (#7186)
* Use `AdvancedGasInputs` in `AdvancedTabContent`

The `AdvancedGasInputs` component was originally extracted from the
`AdvancedTabContent` component, duplicating much of the rendering
logic. They have since evolved separately, with bugs being fixed in one
place but not the other.

The inputs and outputs expected weren't exactly the same, as the
`AdvancedGasInputs` component converts the input custom gas price and
limit, and it converts them both in the setter methods as well.
The `GasModalPageContainer` had to be adjusted to avoid converting
these values multiple times.

Both components dealt with input debouncing separately, both in less
than ideal ways. `AdvancedTabContent` didn't debounce either field, but
it did debounce the check for whether the gas limit field was below the
minimum value. So if a less-than-minimum value was set, it would be
propogated upwards and could be saved if the user clicked 'Save'
quickly enough. After a second delay it would snap back to the minimum
value. The `AdvancedGasInputs` component debounced both fields, but
it would replace any gas limit below the minimum with the minimum
value. This led to a problem where a brief pause during typing would
reset the field to 21000.

The `AdvancedGasInputs` approach was chosen, except that it was
updated to no longer change the gas limit if it was below the minimum.
Instead it displays an error. Parent components were checked to ensure
they would detect the error case of the gas limit being set too low,
and prevent the form submission in those cases. Of the three parents,
one had already dealt with it correctly, one needed to convert the
gas limit from hex first, and another needed the gas limit check added.

Closes #6872

* Cleanup send components

Empty README files have been removed, and a mistake in the index file
for the send page has been corrected. The Gas Slider component class
name was updated as well; it looks like it was originally created from
`AdvancedTabContent`, so it still had that class name.
2019-10-23 09:23:15 -03:00
Dan J Miller
994a8a3167
Add metrics events for clicking and saving tx speed ups (#7275) 2019-10-21 14:23:26 -02:30
Thomas
aa95e5a4c8 Do not transate on seed phrases 2019-10-07 10:45:12 -07:00
Thomas Huang
45a8fdebf7 Update ETH logo, update deposit Ether logo height and width (#7239) 2019-10-02 10:15:44 -06:00
ricky
5f254f7325 Add advanced setting to enable editing nonce on confirmation screens (#7089)
* Add UseNonce toggle

* Get the toggle actually working and dispatching

* Display nonce field on confirmation page

* Remove console.log

* Add placeholder

* Set customNonceValue

* Add nonce key/value to txParams

* remove customNonceValue from component state

* Use translation file and existing CSS class

* Use existing TextField component

* Remove console.log

* Fix lint nits

* Okay this sorta works?

* Move nonce toggle to advanced tab

* Set min to 0

* Wrap value in Number()

* Add customNonceMap

* Update custom nonce translation

* Update styles

* Reset CustomNonce

* Fix lint

* Get tests passing

* Add customNonceValue to defaults

* Fix test

* Fix comments

* Update tests

* Use camel case

* Ensure custom nonce can only be whole number

* Correct font size for custom nonce input

* UX improvements for custom nonce feature

* Fix advanced-tab-component tests for custom nonce changes

* Update title of nonce toggle in settings

* Remove unused locale message

* Cast custom nonce to string in confirm-transaction-base.component

* Handle string conversion and invalid values for custom nonces in handler

* Don't call getNonceLock in tx controller if there is a custom nonce

* Set nonce details for cases where nonce is customized

* Fix incorrectly use value for deciding whether to getnoncelock in approveTransaction

* Default nonceLock to empty object in approveTransaction

* Reapply use on nonceLock in cases where customNonceValue in approveTransaction.

* Show warning message if custom nonce is higher than MetaMask's next nonce

* Fix e2e test failure caused by custom nonce and 3box toggle conflict

* Update nonce warning message to include the suggested nonce

* Handle nextNonce comparison and update logic in lifecycle

* Default nonce field to suggested nonce

* Clear custom nonce on reject or confirm

* Fix bug where nonces are not shown in tx list on self sent transactions

* Ensure custom nonce is reset after tx is created in background

* Convert customNonceValue to number in approve tranasction controller

* Lint fix

* Call getNextNonce after updating custom nonce
2019-09-27 00:30:36 -04:00
Mark Stacey
638149d861
Remove unused modals (#7184)
These modals were no longer referenced anywhere.
2019-09-18 10:09:41 -03:00
Mark Stacey
8a08b320e5
Remove unused customize-gas modal (#7185)
This modal hasn't been used since #5704, where it was replaced.
2019-09-18 10:09:32 -03:00
Erik Marks
38f6550951 fix rinkeby spelling (#7148) 2019-09-10 12:51:34 -10:00
Mark Stacey
0ffee10f19
Prevent invalid inline speed-ups (#7085)
Speeding up anything but the pending transaction with the lowest nonce
is ineffectual, as the transaction with the lowest nonce blocks the
others from completing first. The inline speed-up button in the
transaction activity log has been removed for these invalid cases.

The button will show up in the activity log for the pending transaction
with the lowest nonce, but not for the others.

Closes #6844
2019-09-09 16:59:00 -03:00
Nick Doiron
d589d2dec0 Right-to-left CSS (using module for conversion) (#7072)
* Create RTL stylesheets using `gulp-rtl`

* Handle RTL stylesheet special cases

Certain blocks of Sass  were set to bypass "rtlcss" using ignore
comments. Certain icons had to be flipped 180 degrees.

* Switch stylesheets when locale changes

A second stylesheet has been added to each HTML page for use with
right-to-left locales. It is disabled by default. It is enabled on
startup if a RTL locale is set, and when switching to a RTL locale.
Similarly the LTR stylesheet is disabled when a RTL locale is used.

Unfortunately there is an unpleasant flash of unstyled content when
switching between a LTR and a RTL locale. There is also a slightly
longer page load time when using a RTL locale (<1s difference). We
couldn't think of an easy way to avoid these problems.

* Set `dir="auto"` as default on `TextFields`
2019-09-03 14:47:54 -03:00
Mark Stacey
daa20b4b63
Return after rejecting promise in action (#7079)
* Add missing test descriptions

* Fix async tests that expect a rejection

These tests expected the function under test to return a rejected
promise, and had assertions to be run in the `catch` clause. However,
the tests would still pass if the function didn't reject, with
the assertions never being run.

The tests have been updated to fail if the function doesn't throw.

* Handle ignored promise rejection

In the case where `forceUpdateMetamaskState` rejects, the function
`setSeedPhraseBackedUp` would never resolve. It has been updated to
pass along the rejection instead.

* Return after rejecting promise in action

A few actions would continue after encountering an error, resulting in
errors being compounded. Instead all actions will now return after
encountering an error (which it looks like was the intention in these
cases anyway).
2019-08-31 13:34:27 -03:00
Whymarrh Whitby
35c29c732d
Right align "Total" line items in tx detail view (#7050) 2019-08-21 17:46:18 -02:30
Whymarrh Whitby
e0e06709d3
Fix indentation of div.request-signature__rows code (#7045) 2019-08-21 09:12:08 -02:30
Brendan Chou
cc71b4f52b Add support for eth_signTypedData_v4 (#6930) 2019-08-20 17:22:59 -02:30
Whymarrh Whitby
e47448362d
Bug fixes for incoming transactions (#7043)
* Fix styling of `.transaction-list`
* Filter `incomingTxListSelector` by network as well
* Start and stop block tracker polling in incoming tx controller
* Add fetch with abort in bg for `IncomingTxController`
2019-08-20 16:22:00 -02:30
Dan J Miller
821529622e Fetch & display received transactions (#6996) 2019-08-16 16:24:10 -02:30
Kristian Tapia
d4db2c3de3 Show recipient alias in confirm header if exists (#6944) 2019-08-08 16:15:30 -02:30
Mark Stacey
b3833b1074 Prevent hidden popup overlay
A hidden overlay was preventing interactions with the lower 356 pixels
in the popup view when there are zero notifications. It was also
preventing interactions with the 100 pixels above the notifications in
the case where there were two notifications, which obscured the `Send`
button.

The first problem was solved by ensuring the notification wrapper isn't
rendered when there are no notifications. The second problem was solved
by updating the notification wrapper style to avoid setting a height.
2019-08-06 16:22:49 -03:00
Dan J Miller
3136dd39ea
Only show notification expand icon when there are > 1 notifications that 'shouldBeRendered' (#6965) 2019-08-06 00:54:36 -02:30
Dan J Miller
9d5be5d29f
New notification fixes (#6955)
* Replace use of backup-notification with use of home notification

* Pin notifications relative to window

* Remove unneeded isRequired condition on some home.component properties

* Refactor rendering of home notifications

* UX for multiple notifications

* Adds dismissal to provider request notification.

* Fix test failures

The e2e tests have been updated to reference `home-notification`
classnames instead of the removed `background-notification`. The
active tab proptypes and default values were updated as well.
2019-08-02 18:01:26 -02:30
Dan J Miller
1b33d7fd4c Fixes use of 'Enter' key to save contact in address book modal (#6946) 2019-08-02 10:24:45 -02:30
Christopher Cooper
b7eae4ba80 split AccountDetails into a separate component (#6943) 2019-08-02 10:06:31 -02:30
Dan J Miller
3eff478775
I5849 incremental account security (#6874)
* Implements ability to defer seed phrase backup to later

* Adds incremental-security.spec.js, including test dapp that sends signed tx with stand alone localhost provider

* Update metamask-responsive-ui for incremental account security changes

* Update backup-notification style and fix responsiveness of seed phrase screen

* Remove uneeded files from send-eth-with-private-key-test/

* Apply linguist flags in .gitattributes for send-eth-with-private-key-test/ethereumjs-tx.js

* Improve docs in controllers/onboarding.js

* Clean up metamask-extension/test/e2e/send-eth-with-private-key-test/index.html

* Remove unnecessary newlines in a couple first-time-flow/ files

* Fix import of backup-notification in home.component

* Fix git attrs file
2019-08-02 01:27:26 -02:30
Whymarrh Whitby
e9a63d5d5b
Default Privacy Mode to ON, allow force sharing address (#6904) 2019-08-01 10:54:33 -02:30
Whymarrh Whitby
4d88e1cf86 Enable indent linting via ESLint (#6936)
* Enable indent linting via ESLint

* yarn run lint:fix
2019-07-31 10:17:11 -10:00
Dan J Miller
e9c7df28ed
Address book send plus contact list (#6914)
* Style Send Header

* Move Send to-row to send view and restyle

* Add "Recents" group to select recipient view

* Rename SendToRow to AddRecipient

* Basic UI and Layout

* New ENSInput component

* wip - fuzzy search for input

* small refactor

* Add Dialog

* contact list initial

* initial error on invalid address

* clean up edit

* Click to open modal

* Create AddToAddressBookModal component

* Modal styling and layout

* modal i18n

* Add to Addressbook

* ens wip

* ens wip

* ENS Resolution

* Reset input

* Send to explicit address

* Happy Path Complete

* Add back error checking

* Reset send-to when emptying input

* Add back warning object

* Fix linter

* Fix unit test #1 - fix import paths

* Remove dead tests

* One more to go

* Fix all unit tests

* add unit test for reducers and actions

* test rendering AddRecipient

* Add tests for dialog boxes in AddRecipient

* Add test for validating

* Fix linter

* Fix e2e tests

* Token send e2e fix

* Style View Contact

* Style edit-contact

* Fix e2e

* Fix from-import-beta-ui e2e spec

* Make section header say "add recipient” by default

* Auto-focus add recipient input

* Update placeholder text

* Update input title font size

* Auto advance to next step if user paste a valid address

* Ellipsify address when recipient is selected

* Fix app header background color on desktop

* Give each form row a margin of 16px

* Use .container/.component naming pattern for ens-input

* Auto-focus on input when add to addressbook modal is opened; Save on Enter

* Fix and add unit test

* Fix selectors name in e2e tests

* Correct e2e test token amount for address-book-send changes

* Adds e2e test for editing a transaction

* Delete test/integration/lib/send-new-ui.js

* Add tests for amount max button and high value error on send screen to test/e2e/metamask-ui.spec.js

* lint and revert to address as object keys

* add chainId based on current network to address book entry

* fix test

* only display contacts for the current network

* Improve ENS message when not found on current network

* Add error to indicate when network does not support ENS

* bump gaba

* address book, resolve comments

* Move contact-list to its own component

* De-duplicate getaddressbook selector and refactor name selection logic in contact-list-tab/

* Use contact-list component in contact-list-tab.component (i.e. in settings)

* Improve/fix settings headers for popup and browser views

* Lint fixes related to address book updates

* Add 'My accounts' page to settings address book

* Update add new contact button in settings to match floating circular design

* Improve styles of view contact page

* Improve styles and labels of the add-contact.component

* Further lint fixes related to address book updates

* Update unit tests as per address book updates

* Ensure that contact list groups are sorted alphabetically

* Refactor settings component to use a container for connection to redux; allow display of addressbook name in settings header

* Decouple ens-input.component from send context

* Add ens resolution to add contact screen in settings

* Switching networks when an ens address is shown on send form removes the ens address.

* Resolve send screen search for ensAddress to matching address book entry if it exists

* Show resolved ens icon and address if exists (settings: add-contact.component)

* Make the displayed and copied address in view-contact.component the checksummed address

* Default alias state prop in AddToAddressBookModal to empty string

* Use keyCode to detect enter key in AddToAddressBookModal

* Ensure add-contact component properly updates after QR code detection

* Fix display of all recents after clicking 'Load More' in contact list

* Fix send screen contact searching after network switching

* Code cleanup related to address book changes

* Update unit tests for address book changes

* Update ENS name not found on network message

* Add ens registration error message

* Cancel on edit mode takes user back to view screen

* Adds support for memo to settings contact list view and edit screens

* Modify designs of edit and view contact in popup environment

* Update settings content list UX to show split columns in fullscreen and proper internal navigation

* Correct background address book API usages in UI
2019-07-31 17:26:44 -02:30
Whymarrh Whitby
2761cc5a2d
Hide Copy Tx ID and block explorer link for txns w/o hash (#6928) 2019-07-29 22:12:29 -02:30
Mark Stacey
329c376449
Remove unused props from routes and network dropdown (#6919)
These props were discovered to be unused while I was working on #6680
2019-07-29 08:44:18 -03:00
Mark Stacey
1f45798707
Override ownProps with state props in SignatureRequest (#6911)
The `accounts` prop of `SignatureRequest` was throwing a PropType
warning because `accounts` was an object instead of an array. It looks
like when the `mergeProps` function was added in #6340, the ownProps
were accidentally set to override the state props.

The now ignored props have been removed from the parent `ConfirmTxScreen`
component as well. `conversionRate` was identical to the one retrieved
in `SignatureRequest`, and `selectedAddress` differed only in the
fallback behaviour when `state.metamask.selectedAddress` does not exist;
it will now default to the first account instead (as was the original
behavior, prior to #6340).
2019-07-26 10:39:13 -03:00
Mark Stacey
adac1de822
Remove AccountDropdownMini component (#6906)
The `AccountDropdownMini` component featured the ability to switch
accounts using a dropdown, but this functionality was disabled in #6024.
It has been acting as a restyled `AccountListItem` since then.

The component has been removed, and the style changes moved to the sole
parent component (`RequestSignature`).
2019-07-25 08:55:43 -03:00
Mark Stacey
74639ab3ae
Remove unused time-remaining component (#6912)
The `time-remaining` component hasn't been used since #5704, aside from
a few styles. Those styles have been integrated into the
`advanced-tab-content` styles, and the unused component has been
deleted.
2019-07-25 08:55:18 -03:00
Terry Smith
33071e3014 Targets base inputs and only prevents outline if user uses a mouse (#6871) 2019-07-16 22:58:00 -02:30
Terry Smith
721215973a Re enable the setMouseUserState styles. (#6860)
Typo
2019-07-16 00:06:57 -02:30
Thomas Huang
96a12a627e
Merge pull request #6832 from MetaMask/master-rebased
Master rebased
2019-07-12 10:58:19 -07:00
Mark Stacey
2eea388680
Remove unused expressions (#6839)
Unused expressions are generally a mistake, as they don't do anything.
The exceptions to this rule (short-circuit expressions and ternary
expressions) have been allowed.

The `webrtc-adapter` was previously ignored by eslint because it has a
side-effect upon being imported. I removed the local variable instead,
which should preserve the same side-effect without making eslint
complain.
2019-07-12 12:41:39 -03:00
ryanml
daccb06a60 Create MetaFoxLogo component (#6819) 2019-07-09 14:47:58 -02:30
Dan J Miller
32a3f5ad7b
Address various UI styling issues (#6744)
* Add loading spinner to pending tx status label.

* Add border around account icon in top right

* Change style of settings toggle buttons; wrap with local components

* Eliminate large space after settings labels when no description

* Remove network form from advanced tab of settings

* Keep new account container height to contents when in full screen
2019-07-08 15:28:35 -02:30
Mark Stacey
6df65069a2
Replace react-addons-css-transition-group (#6816)
This package is deprecated, and is incompatible with React v16. It has
been replaced by `react-test-renderer`, which has a drop-in replacement
for `react-addons-css-transition-group`.

Strangely, `react-test-renderer` was already listed as a dependency
despite not being used. I had to downgrade it, as the version already
listed was for React v16, and we're still using React v15.
2019-07-08 10:12:00 -03:00
Dan J Miller
05e2120814 Version 6.7.2 gas limit fix (#6786)
* Introduce delay for eth_estimateGas calls with in test

* Add test that fails when gas estimates of contract method calls without gas are too high.

* Get transaction gas data from unApprovedTxs instead of confirmTransaction

* Fix selection of gas data in gas-modal-page-container.container

* Lint changes related to Version-6.7.2-gasLimitFix

* Fix e2e tests on Version-6.7.2-gasLimitFix

* Fix unit and integration tests for changes from Version-6.7.2-gasLimitFix

* more e2e fixes

* Add assertions for transaction values on confirm screen

* Fix display of transaction amount on confirm screen.
2019-07-04 14:14:03 -02:30
Whymarrh Whitby
df17853502
Remove UiMigrationAnnouncement and associated state (#6794) 2019-07-04 12:21:21 -02:30
Dan Finlay
797f0c6ced
Reduce time to show tx "speed up" buttons to 5 seconds. (#6797) 2019-07-03 22:10:17 -07:00
Mark Stacey
a44f38e640
Fix PropType warning (#6792) 2019-07-03 22:48:22 -03:00
Akshit Kr Nagpal
687984a938 Added Confirmation Modal for Delete Network (#6776) 2019-07-02 09:43:02 -02:30
Mark Stacey
6d191f2617
Refactor account-details-modal (#6751)
Refactor the AccountDetailsModal to follow newer conventions. Changes
include:
- Create a directory for the component with separate files for the
  component, the container, and the entrypoint.
- Use jsx rather than hyperscript

Fixes #6741
2019-06-27 12:03:18 -03:00
Mark Stacey
313def1ce2 Remove shapeshift deposit form (#6746)
Closes #6478
2019-06-24 14:17:48 -02:30
Whymarrh Whitby
748801f417 4byte fallback (#6551)
* Adds 4byte registry fallback to getMethodData() (#6435)

* Adds fetchWithCache to guard against unnecessary API calls

* Add custom fetch wrapper with abort on timeout

* Use opts and cacheRefreshTime in fetch-with-cache util

* Use custom fetch wrapper with timeout for fetch-with-cache

* Improve contract method data fetching (#6623)

* Remove async call from getTransactionActionKey()

* Stop blocking confirm screen rendering on method data loading, and base screen route on transactionCategory

* Remove use of withMethodData, fix use of knownMethodData, in relation to transaction-list-item.component

* Load data contract method data progressively, making it non-blocking; requires simplifying conf-tx-base lifecycle logic.

* Allow editing of gas price while loading on the confirm screen.

* Fix transactionAction component and its unit tests.

* Fix confirm transaction components for cases of route transitions within metamask.

* Only call toString on id if truthy in getNavigateTxData()

* Fix knownMethodData retrieval and data fetching from fourbyte
2019-06-18 09:47:14 -02:30
Dan J Miller
18179fd345 Add delete to custom RPC form (#6718, #6650) 2019-06-17 11:35:47 -02:30
Thomas Huang
6fb0d4af27 Wrap smaller custom block explorer url text (#6714) 2019-06-17 08:32:12 -02:30
Chi Kei Chan
9a1a207ffa
MetaMorph - Spacing and Typeface on Extension Main view (#6584)
* wip

* Style Update: Mobile App Header

* wip

* Style Update: mobile menu-bar

* Style Update: Primary and Secondary balance on mobile main view

* Style Update: Spacing for transaction-list and transaction-list-item

* Address PR Comments

* Fix full-width view

* line-height fixes
2019-06-12 19:56:04 -07:00
Jenny Pollack
9180e39b08 Revert "fixed #5524"
This reverts commit c8cb4ba370.
2019-06-06 19:20:33 +02:00
Dan J Miller
5e2fd8ae86
Ensures that transactions cannot be confirmed if gas limit is below 21000. (#6625) 2019-05-23 11:26:40 -02:30
Etienne Dusseault
0e9c8fb5cc Improved UX for sweeping accounts (#6488)
* Changed max button to checkbox, disabled input if max mode is on, recalculate price according to gas fee if max mode is on

* Disabled insufficient funds message in the modal if max mode is on, displays proper amounts in modal when max mode is on, sets the send amount according to custom gas price after gas modal save, resets the send amount after resetting custom gas price

* Disabled max mode checkbox if gas buttons are loading, refactored gas-modal-page-container

* Implemented new max button & max mode message. Moved insufficient funds error to underneath the send amount field

* Fixed existing integration test to pass, created new tests to ensure send amount field is disabled when max button is clicked and the amount changes when the gas price is changed. Refactored some components
2019-05-20 14:08:08 -02:30
Alex Ivasyuv
c8cb4ba370 fixed #5524 2019-05-14 22:00:53 +03:00
Dan J Miller
13be683701
New settings custom rpc form (#6490)
* Add networks tab to settings, with header.

* Adds network list to settings network tab.

* Adds form to settings networks tab and connects it to network list.

* Network tab: form adding and editing working

* Settings network form properly handles input errors

* Add translations for settings network form

* Clean up styles of settings network tab.

* Add popup-view styles and behaviour to settings network tab.

* Fix save button on settings network form

* Adds 'Add Network' button and addMode to settings networks tab

* Lint fix for settings networks tab addition

* Fix navigation in settings networks tab.

* Editing an rpcurl in networks tab does not create new network, just changes rpc of old

* Fix layout of settings tabs other than network

* Networks dropdown 'Custom Rpc' item links to networks tab in settings.

* Update settings sidebar networks subheader.

* Make networks tab buttons width consistent with input widths in extension view.

* Fix settings screen subheader height in popup view

* Fix height of add networks button in popup view

* Add optional label to chainId and symbol form labels in networks setting tab

* Style fixes for networks tab headers

* Add ability to customize block explorer used by custom rpc

* Stylistic improvements+fixes to custom rpc form.

* Hide cancel button.

* Highlight and show network form of provider by default.

* Standardize network subheader name to 'Networks'

* Update e2e tests for new settings network form

* Update unit tests for new rpcPrefs prop

* Extract blockexplorer url construction into method.

* Fix broken styles on non-network tabs in popup mode

* Fix block explorer url links for cases when provider in state has not been updated.

* Fix vertical spacing of network form

* Don't allow click of save button on network form if nothing has changed

* Ensure add network button is shown in popup view

* Lint fix for networks tab

* Fix block explorer url preference setting.

* Fix e2e tests for custom blockexplorer in account details modal changes.

* Update integration test states to include frequentRpcList property

* Fix some capitalizations in en/messages.json

* Remove some console.logs added during custom rpc form work

* Fix external account link text and url for modal and dropdown.

* Documentation, url validation, proptype required additions and lint fixes on network tab and form.
2019-05-09 14:57:14 -02:30
Whymarrh Whitby
094e4cf555 Check for unused function arguments (#6583)
* eslint: Check for unused function arguments

* eslint: Ignore unused '_' in argument list

Also allow any number of '_' e.g., '__' or '___' which is to be used sparingly

* Remove and rename unused arguments
2019-05-08 15:51:33 -04:00
Whymarrh Whitby
6aa889280d Add suffix to title text only when it exists (#6546) 2019-05-06 10:55:18 -02:30
kumavis
2845398c3d Refactor ProviderApprovalController to use rpc and publicConfigStore (#6410)
* Ensure home screen does not render if there are unapproved txs (#6501)

* Ensure that the confirm screen renders before the home screen if there are unapproved txs.

* Only render confirm screen before home screen on mount.

* inpage - revert _metamask api to isEnabled isApproved isUnlocked
2019-05-03 13:32:05 -04:00
Chi Kei Chan
13605c2b5e
Always show private network when RPC is not whitelisted (#6495) 2019-04-25 13:54:35 -07:00
Chi Kei Chan
429bb5e7aa
Fix button colors on mobile (#6493) 2019-04-24 20:01:41 -07:00
Chi Kei Chan
ec712d5d8f
Set max-width on network dropdown and ellipsis long network name (#6494) 2019-04-24 20:01:24 -07:00
Chi Kei Chan
3519e90ffd Make height consistent on all row in send-content (#6480)
* Update all send-content row to 54px height

* Remove header subtitle

* Remove tests that check for send screen subheader
2019-04-18 00:41:04 -02:30
Chi Kei Chan
d8b536982e
Update confirm to use btn-primary (#6473)
* Update confirm to use btn-primary

* Remove console

* Fix e2e test
2019-04-17 13:34:47 -07:00
Chi Kei Chan
931aaeb700 Add token selection to the send screen (#6445)
* Move send to pages/

* Fix unit tests

* Finish UI

* Integrate asset dropdown to send actions

* Remove console.log

* Hide asset change during edit

* Enable switch from send token to seand eth

* Enable switching from token to eth when editing

* Fix linter

* Fixing test

* Fix unit tests

* Fix linter

* Fix react warning; remove console.log

* fix flat test

* Add metrics

* Address code review comments

* Consistent spacing between send screen form rows.

* Reduce height of gas buttons on send screen.

* Make send screen gas button height dependent on size of contents.
2019-04-17 16:45:13 -02:30
Thomas Huang
83f3e8ab98
Merge pull request #6468 from chikeichan/network-indicator-style-fix
Fix switcher height when Custom RPC is selected or loading
2019-04-17 12:42:49 -05:00
Paul Bouchon
0db0a187c8 feature: add Goerli support (#6459) 2019-04-17 15:04:49 -02:30
Chi Kei Chan
597c490928 Fix switcher height when Custom RPC is selected or when network is loading 2019-04-16 23:47:11 -07:00
Thomas Huang
00133d31b1
Merge pull request #6444 from MetaMask/localhost-network-dropdown
Fixes #6321 & #6421 - Add Localhost 8545 for network dropdown names
2019-04-16 14:39:00 -05:00
Chi Kei Chan
92c03bdff2 Update buttons & colors to match design system (#6446)
* Refactoring button styles

* renaming buttons

* Add Link and Button styles

* Update new btn styles and storybook

* Fix tests

* Change font weight; Update storybook

* Fix linter
2019-04-16 17:05:22 -02:30
Whymarrh Whitby
c4a3d4ea82 Remove unneeded array cloning in getSendToAccounts selector
The use of `Object.entries` here to map the accounts into a new array effectively
produces a shallow clone of the array without guaranteeing the order of the original
array (as object iteration order is implementation-specific and variable). From MDN [1]:

> The **`Object.entries()`** method returns an array of a given object's own enumerable
> string-keyed property `[key, value]` pairs, in the same order as that provided by a
> `for...in` loop

And also:

> The ordering of the properties is the same as that given by looping over the
> property values of the object manually.

Both of which suggest that the iteration order is the same as `for...in`, which is to
say that it's not specified. [2] [3]

This changeset removes the cloning, keeping the shallow clone created the line before
which preserves the order of the items in the array.

  [1]:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
  [2]:https://stackoverflow.com/a/5525820/1267663
  [3]:https://stackoverflow.com/a/30919039/1267663
2019-04-11 21:50:06 -02:30
Sneh Koul
2786932576 repeated getSelectedAddress() func send.selectors.js removed (#6056) 2019-04-11 15:20:03 -02:30
Thomas Huang
d7a2ea9a2b Add Localhost 8545 for network dropdown names 2019-04-10 16:34:13 -05:00
Dan Miller
5d948360c0 Distinguish between token and eth selected in home screen send button metrics event. 2019-04-08 11:06:13 -02:30
Dan Miller
5454266d7c Metrics tracking gas changed - slow, average, fast, custom - on edit screen.- 2019-04-08 11:06:05 -02:30
kumavis
cf4eac3f2c
Merge pull request #6397 from MetaMask/wyre-deposit-modal
Change coinbase to wyre
2019-04-04 10:16:26 +08:00
Thomas Huang
6a80ff2718 Change coinbase to wyre 2019-04-03 16:45:43 -05:00
Dan J Miller
95a2480074 Fix display of gas chart on Ethereum networks (#6389) 2019-04-03 13:31:43 -02:30
Thomas Huang
a46ec83c9b Remove NoticeController (#6382) 2019-04-01 22:33:54 -02:30
Whymarrh Whitby
4055dc3475
Remove unused account-dropdowns components (#6363) 2019-04-01 14:25:33 -02:30
Chi Kei Chan
adcf03eacc About tab copy changes; Update route for Info & Help in account menu (#6356) 2019-03-29 13:54:03 -02:30
kumavis
133ed80aee
Merge pull request #6372 from MetaMask/addAddressIfNew
prevent add duplicates when address is not new
2019-03-29 13:48:15 +08:00
kumavis
0961449ca0 send-footer.utils.js - addressIsNew - improve readability 2019-03-29 13:34:49 +08:00
kumavis
38b85adbe0 Merge branch 'develop' of https://github.com/vimalsagar/metamask-extension into vimalsagar-develop 2019-03-29 10:20:19 +08:00
Jenny Pollack
356ef794f2 prevent add duplicates when address is not new 2019-03-28 19:18:53 -07:00
kumavis
b004b182bf
depoit-ether-modal - make buyEth args more explicit 2019-03-29 10:10:05 +08:00
Dan J Miller
ef4894b9a0
Don't include tx value in calculation of balance sufficiency for cancel button disabling. (#6346) 2019-03-26 12:17:36 -02:30
Dan J Miller
2f13a97d00
Cancel error rebased (#6341)
* Check balance before showing cancel

* Fix linter

* Use existing helper methods for calculating increased cancel price

* Add tooltip for disabled button

* Lint fix for cancelError branch.

* Disabling of cancel button should account for value of tx.
2019-03-25 13:55:23 -02:30
Dan J Miller
69f7968c70
Close transaction on close of notification window (#6340) 2019-03-25 13:49:23 -02:30
Dan J Miller
961ad267df
New settings page rebased (#6333)
* New setting tab

* Add InfoTab

* Add Advanced tab

* Add Security Tab

* Finish mobile view

* Make new setting page responsive

* Fix linter

* Fix y scrolling

* Update link in network dropdown

* Fix e2e tests

* Remove duplicate translation key

* Resolve merge conflict

* Only change settings header in popup view.

* Place mobile-sync button in advanced-tab of settings
2019-03-25 13:43:23 -02:30
Dan J Miller
4ff9126ff2
Replaces the coinbase link in the deposit modal with one for wyre (#6302) 2019-03-22 12:32:07 -02:30
Dan J Miller
174ec2d596
Fix oversized loading overlay on gas customization modal. (#6326) 2019-03-22 12:20:37 -02:30
Dan J Miller
2b992d2946
Fix gas fee in the submitted step of the transaction details activity log. (#6301) 2019-03-22 12:20:25 -02:30
Dan J Miller
468bc96bdf
Hide gas price chart and prevent api call when not on ethereum networks. (#6300)
Add missing translations in gas customization modal
2019-03-22 12:20:12 -02:30
Chi Kei Chan
31175625b4 Folder restructure (#6304)
* Remove ui/app/keychains/

* Remove ui/app/img/ (unused images)

* Move conversion-util to helpers/utils/

* Move token-util to helpers/utils/

* Move /helpers/*.js inside /helpers/utils/

* Move util tests inside /helpers/utils/

* Renameand move confirm-transaction/util.js to helpers/utils/

* Move higher-order-components to helpers/higher-order-components/

* Move infura-conversion.json to helpers/constants/

* Move all utility functions to helpers/utils/

* Move pages directory to top-level

* Move all constants to helpers/constants/

* Move metametrics inside helpers/

* Move app and root inside pages/

* Move routes inside helpers/

* Re-organize ducks/

* Move reducers to ducks/

* Move selectors inside selectors/

* Move test out of test folder

* Move action, reducer, store inside store/

* Move ui components inside ui/

* Move UI components inside ui/

* Move connected components inside components/app/

* Move i18n-helper inside helpers/

* Fix unit tests

* Fix unit test

* Move pages components

* Rename routes component

* Move reducers to ducks/index

* Fix bad path in unit test
2019-03-21 20:33:30 -02:30
Bruno Barbieri
7287133e15 Enable mobile sync (#6332)
* enable mobile sync

* remove mobile sync as a preference

* Fix typo
2019-03-21 12:43:10 -07:00
fixanoid
e1af6312ce Fixing spelling of Ethereum in MetaMetrics copy (#6329) 2019-03-21 12:27:26 -02:30
Whymarrh Whitby
29a0b34786 Allow seed phrases with a trailing newline 2019-03-13 10:00:42 -02:30
Thomas Huang
7981b1bf23
Merge pull request #6281 from MetaMask/fix-browser-back-on-reveal-seed
Fixes the use of the browser back button on the reveal seed screen
2019-03-12 11:31:19 -05:00
kumavis
d288e59a9b ui - add missing PropTypes (#6287) 2019-03-12 12:09:55 -02:30
kumavis
48047f8194 mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
Dan Miller
17911dddff Fixes the use of the browser back button on the reveal seed screen 2019-03-11 16:52:26 -02:30
Dan J Miller
b8f143f1c3
Handle undefined gas limits and prices in transaction-breakdown.component (#6246) 2019-03-06 14:44:53 -03:30
Dan J Miller
be2d2bad4b
Add privacy policy link to modal metrics opt-in (#6250) 2019-03-06 13:02:54 -03:30
Dan J Miller
f74cd1aa3f
Prevent advanced gas input arrows from setting value to < 0 (#6248) 2019-03-06 12:49:57 -03:30
Dan J Miller
d547e0b80b
Only call onRecipient and onSender methods if defined in sender-to-recipient (#6247) 2019-03-06 12:49:23 -03:30
Dan J Miller
7160cef4c7
Fix missing this reference in addtoken button onclick method (#6245) 2019-03-06 11:19:21 -03:30
Dan J Miller
df0c7be808
Fixes the 'Percentages row tracks and gutters' decpracation warning. (#6244) 2019-03-06 11:18:36 -03:30
Dan J Miller
f334f4da15
Metametrics fixes (#6238)
* Improve opt-in opt-out event tracking after going 'back' in onboarding.

* Fix 'Switched Networks' metrics event.

* Fix custom variables ids (can only use ids 1-5)

* Fix tracking of function type custom variable for metametrics in confirm-transaction-base

* Add missing metametrics events
2019-03-05 14:44:02 -03:30
Thomas Huang
434e1aa04a Wrap in span 2019-03-05 12:00:56 -06:00
Dan J Miller
c757366355
Metametrics (#6171)
* Add metametrics provider and util.

* Add backend api and state for participating in metametrics.

* Add frontend action for participating in metametrics.

* Add metametrics opt-in screen.

* Add metametrics events to first time flow.

* Add metametrics events for route changes

* Add metametrics events for send and confirm screens

* Add metametrics events to dropdowns, transactions, log in and out, settings, sig requests and main screen

* Ensures each log in is measured as a new visit by metametrics.

* Ensure metametrics is called with an empty string for dimensions params if specified

* Adds opt in metametrics modal after unlock for existing users

* Adds settings page toggle for opting in and out of MetaMetrics

* Switch metametrics dimensions to page level scope

* Lint, test and translation fixes for metametrics.

* Update design for metametrics opt-in screen

* Complete responsive styling of metametrics-opt-in modal

* Use new chart image on metrics opt in screens

* Incorporate the metametrics opt-in screen into the new onboarding flow

* Update e2e tests to accomodate metametrics changes

* Mock out metametrics network requests in integration tests

* Fix tx-list integration test to support metametrics provider.

* Send number of tokens and accounts data with every metametrics event.

* Update metametrics event descriptor schema and add new events.

* Fix import tos bug and send gas button bug due to metametrics changes.

* Various small fixes on the metametrics branch.

* Add origin custom variable type to metametrics.util

* Fix names of onboarding complete actions (metametrics).

* Fix names of Metrics Options actions (metametrics).

* Clean up code related to metametrics.

* Fix bad merge conflict resolution and improve promise handling in sendMetaMetrics event and confrim tx base

* Don't send a second metrics event if user has gone back during first time flow.

* Collect metametrics on going back from onboarding create/import.

* Add missing custom variable constants for metametrics

* Fix metametrics provider

* Make height of opt-in modal responsive.

* Adjust text content for opt-in modal.

* Update metametrics event names and clean up code in opt-in-modal

* Put phishing warning step next to last in onboarding flow

* Link terms of service on create and import screens of first time flow

* Add subtext to options on the onboarding select action screen.

* Fix styling of bullet points on end of onboarding screen.

* Combine phishing warning and congratulations screens.

* Fix placement of users if unlocking after an incomplete onboarding import flow.

* Fix capitalization in opt-in screen

* Fix last onboarding screen translations

* Add link to 'Learn More' on the last screen of onboarding

* Code clean up: metametrics branch

* Update e2e tests for phishing warning step removal

* e2e tests passing on metametrics branch

* Different tracking urls for metametrics on development and prod
2019-03-05 12:15:01 -03:30
Vimal
ab5fe4d659 PR 5575 review comment fixes 2019-02-28 19:50:48 +05:30
Dan J Miller
cb2698d20e First time flow updates (#6192)
* Action select step of onboarding flow added.

* Update navigation on create and import password screens.

* Adds terms of service checkbox to create and import account screens.

* Add security warning to jazzicon intro step

* Update and streamline unique image to confirm seed steps of first time flow.

* UI touch ups to welcome screen.

* UI touch up on select action page

* Fix first time import flow.

* Add end of flow screen to first time flow

* Replace unique image screen with updated fishing warning screen.

* Update e2e tests for onboarding flow changes.

* Add required translations to onboarding flow.

* Update design of select action screen to emphasize create new wallet option.

* Clean up onboarding flow code.

* Remove notice related code from first-time-flow directory.

* Use updater function argument in new-account.component
2019-02-27 11:16:41 -03:30
Chi Kei Chan
a2320c76fe Show/Hide Fiat on Testnets based on User Preference (#6153) 2019-02-26 15:00:41 -03:30
Dan Finlay
f507f2a927 Feature Flag + Mobile Sync (#5955) 2019-02-25 15:40:13 -03:30
Dan J Miller
fdc7eb2113 Fix gas estimation when sending to contracts (#6195)
* Fix gas estimation when sending to contracts
* Fix calculating of balance sufficiency and tx params when sending token transaction
2019-02-25 14:46:23 -03:30
Dan J Miller
1eebe54c64
Merge pull request #6184 from chikeichan/6132
turn camcelCase method name to space separated
2019-02-19 20:59:43 -03:30
Dan J Miller
cbcaf87998
Merge pull request #6185 from chikeichan/5681
Remove password check when importing Account JSON
2019-02-19 20:59:17 -03:30
Chi Kei Chan
24ed53bbf3 Change "Token Address" to "Token Contract Address" (#6182) 2019-02-19 16:22:09 -03:30
Chi Kei Chan
0bbfb2e506 Remove password check when importing Account JSON 2019-02-18 22:01:43 -08:00
Chi Kei Chan
7be4795257 turn camcelCase method name to space separated 2019-02-18 21:36:12 -08:00
Chi Kei Chan
b58a9bd202 Add Copy Tx ID button to transaction-list-item-details (#6146)
* Add Copy Tx ID button to transaction-list-item-details

* Move justCopied toggle timeout inside setState callback
2019-02-17 01:00:02 -03:30
Whymarrh Whitby
1d8d129305
Checksum address before slicing it for the confirm screen (#6133) 2019-02-14 10:43:12 -03:30
Jonathan Smirnoff
8dddf48904 Fixed issue #5838 (#6001)
Update changelog file
2019-02-13 10:30:46 -10:00
Chi Kei Chan
d438deee89 Add button to force edit token symbol when adding custom token (#6147) 2019-02-13 10:30:22 -03:30
Whymarrh Whitby
1da1ec0df5
Merge pull request #6139 from whymarrh/fix-confirm-advanced-gas
Fix advanced gas controls on the confirm screen
2019-02-12 11:51:18 -03:30
Whymarrh Whitby
eed3ee41d4 Fix advanced gas controls on the confirm screen 2019-02-12 11:24:03 -03:30
Whymarrh Whitby
f41830b798 Trim whitespace from seed phrase during import
Somehow we lost 33b85cf2e
2019-02-12 01:05:05 -03:30
Whymarrh Whitby
0972e23dcd Add e2e tests adjusting gas before sending 2019-02-08 15:44:45 -03:30
Whymarrh Whitby
57ead4914f Fix inline advanced gas editing 2019-02-08 15:44:45 -03:30
Brandon Wissmann
810e5cb256 implement class for sign footer button (#6120) 2019-02-08 08:48:12 -03:30
Dan J Miller
97e92a1b68 Set custom gas data in state from inline advance gas controls on send screen (#6114) 2019-02-06 13:43:45 -03:30
Chi Kei Chan
798930afba Add Swap feature to CurrencyInput (#6091)
* Add Swap feature to CurrencyInput

* Fix linter error

* Fix and Add unit tests
2019-02-06 11:44:17 -03:30
Dan J Miller
38b91f63a2 Add togglable advanced gas controls on send and confirm screens (#6112)
* Extract advanced gas input controls to their own component

* Add advanced inline gas toggle to settings

* Add optional advanced inline gas to send send screen

* Adds optional advanced gas inputs to the confirm screen

* Add info modals for advanced gas inputs.

* Fix translation of advance gas toggle description.

* Lint and unit test fixes for inline-advanced-gas-inputs

* Increase margin above advanced options button on send screen

* Move methods from constructor to property syntax in advanced-gas-inputs.component
2019-02-05 16:24:28 -08:00
Whymarrh Whitby
f3a7054f6b Add announcement for users migrated to the new UI 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
a7a6318c13 Default to the new UI for all users 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
c18b6f4117 Remove commented references to Beta UI 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
8a8696f897 Remove "Use old UI" setting 2019-02-05 08:49:55 -03:30
Paul Bouchon
db776b5a02 EIP-1102 updates (#6006)
* Update privacy notice

* Respond to 1102 messages using tab ID
2019-01-30 10:27:33 -08:00
Dan J Miller
02bdbbbc3e Add visual indicator when displaying a cached balance (#5854) 2019-01-30 08:46:12 -03:30
Frankie
df3169d1c7
I#5956 fix2 dont overwrite existing rpc settings (#6044)
* mm-controller - dont overwrite existing rpc settings

* ui-networkDropdown - dont pass old network as chainId

* add methods preferencesController.updateRpc and metamaskController.updateAndSetCustomRpc

* use updateAndSetCustomRpc in settings to allow rpcs to be updated

* use new rpc as nickname if no nick name has been supplied

* fix update rpc method
2019-01-29 08:13:51 -10:00
Esteban Miño
2d7c9b3dac Prevent send to token warning (#6058) 2019-01-23 14:39:56 -03:30
Alexander Tseung
fba17d77de Refactor first time flow, remove seed phrase from state (#5994)
* Refactor and fix styling for first time flow. Remove seed phrase from persisted metamask state

* Fix linting and tests

* Fix translations, initialization notice routing

* Fix drizzle tests

* Fix e2e tests

* Fix integration tests

* Fix styling

* Fix migration naming from 030 to 031

* Open extension in browser when user has not completed onboarding
2019-01-23 11:55:34 -03:30
Esteban Miño
1d93d9a385 Prevent send to token (#6051)
* check contact metadata

* check for tokens in state

* tests

* update tests

* validation only if sending tokens

* container test
2019-01-22 11:05:59 -08:00
Esteban Miño
e21dfd1862 Use Parity on-chain registry only when is needed (#6052)
* add and use knownMethodData to avoid infura requests

* dataMethod to methodData and check empty response
2019-01-22 10:22:56 -08:00
Alexander Tseung
fe780fb3d4 Refactor BalanceComponent to jsx (#6048) 2019-01-21 10:56:48 -03:30
Frankie
0ad7797076
I#5956 fix 1 (#6026)
* prevent invalid chainId's when adding cusstom rpcs

* migration 30 removes invalid chaids from preferences and networkController for custom rpcs
2019-01-17 09:10:33 -10:00
Alexander Tseung
de0ac53008 Fix grammar error in Current Conversion (#6029) 2019-01-17 11:37:38 -03:30
Alexander Tseung
3fe78a8f48
Disable account dropdown on signing screens (#6024) 2019-01-16 14:50:24 -08:00
Alexander Tseung
eaca9d21e6 Fix confirm screen for sending ether tx with hex data (#6008) 2019-01-10 12:54:37 -03:30
Hsuan Lee
dd6d3232fa Fix ERC20 token value decoding (#5995)
When MetaMask user calls non-standard ERC20 methods such as `mint`, `tokenData` will be `undefined` and an uncaught error will break the UI
2019-01-04 08:36:25 -03:30
Bowen
866b9af69e Fix Component#componentDidUpdate usage (#5977) 2019-01-03 18:17:37 -03:30
Alexander Tseung
0b4469b842 Add scrolling button to account list 2019-01-03 11:22:38 -08:00
Alexander Tseung
30a2be85ee
Prevent users from changing the From field in the send screen (#5922)
* Prevent users from changing the From field in the send screen

* Fix integration tests
2018-12-13 18:19:36 -08:00
Alexander Tseung
435fdae84a
Fix displayed time and date in the activity log. Remove vreme library, add luxon library. (#5932) 2018-12-13 12:48:15 -08:00
Dan J Miller
c5861c88a5
Merge pull request #5893 from MetaMask/loading-network-screen
Loading network screen
2018-12-13 14:20:27 -03:30
Alexander Tseung
05e8753641 Fix speed up button not showing for transactions with the lowest nonce (#5925) 2018-12-12 18:33:46 -08:00
Dan Miller
04cc98d8e4 Clean up for the loading-network-screen 2018-12-12 14:14:52 -03:30
Dan Miller
20dbebae9f Adds network loading retry / error screen. 2018-12-12 13:53:37 -03:30
Dan Miller
0e5e51b8ff Add identifier of private network to the network loading screen message. 2018-12-12 13:53:37 -03:30
Dan Miller
47501a6f7a Add spinner and dropdown arrow to network indicator on custom network loading. 2018-12-12 13:53:37 -03:30
Dan Miller
66f7102c06 Show transaction fee instead of total fee in top left of gas customization modal. 2018-12-12 13:27:44 -03:30
Dan Miller
dabf263733 Fix width of gas customization model in notification view 2018-12-12 13:05:38 -03:30
Dan Miller
3cca6fc886 Add missing translation to the gas customization component. 2018-12-12 13:05:25 -03:30
Dan Miller
1145a0a9ad Ensures that advanced tab gas limit reflects tx gas limit 2018-12-12 12:00:57 -03:30
Alexander Tseung
9c24019659
Add submitDisabled prop to Modals. Disable submit button when creating a cancel transaction (#5910) 2018-12-11 15:04:57 -08:00
Dan J Miller
1fbdce8916 Improve ux for low gas price set (#5862)
* Show user warning if they set gas price below safelow minimum, error if 0.

* Properly cache basic price estimate data.

* Default retry price to recommended price if original price was 0x0

* Use mock fetch in send-new-ui integration tests.
2018-12-10 13:51:00 -08:00
Noah Zinsmeister
49971e9ec2 fix formatting of 32-byte strings in personal_sign (#5878) 2018-12-10 09:47:52 -03:30
Alexander Tseung
d8ab9cc002
Group transactions by nonce (#5886) 2018-12-09 12:48:06 -08:00
Dan Miller
8194309a9a Fix styling of send screen in extension view when hex data on. 2018-12-04 00:06:22 -03:30
Dan Miller
d8e41a6aa5 Final gas customization fixes 2018-12-04 00:06:22 -03:30
Dan Miller
75d7545437 Clear custom gas data on hiding of gas customization modal. 2018-12-04 00:06:22 -03:30
Dan Miller
f8ffdaedc9 Modify results of API data to better fit gas chart: remove outliers, pad data 2018-12-04 00:06:22 -03:30
Dan Miller
7ffea926f2 Add loading spinners when waiting for APIs in the gas customization modal 2018-12-04 00:06:22 -03:30
Dan Miller
7f2c5c09de Uses more reliable api on main send screen; caches basic api results in modal 2018-12-04 00:06:22 -03:30
Dan Miller
4111e9f92d Improve responsiveness of customize speed up slider. 2018-12-04 00:06:22 -03:30
Dan Miller
d5411e772d Make gas customization modal responsive. 2018-12-04 00:06:22 -03:30
Dan Miller
b70886a99b Fixes for components that break e2e gas customization tests, plus unit test updates. 2018-12-04 00:06:22 -03:30
Dan Miller
e3f015c88f Adds speed up slide-in gas customization sidebar 2018-12-04 00:06:22 -03:30
Dan Miller
3162a2747c Redesign of gas customization basic tab. 2018-12-04 00:06:05 -03:30
Dan Miller
3ced3c9b2a Clean up for mmui-i11-custom-gas-price-chart branch 2018-12-04 00:06:05 -03:30
Dan Miller
d14af8346a Improve data management and tests for gas-modal-page-container price estimates. 2018-12-04 00:06:05 -03:30
Dan Miller
d0619b024f Update tests, plus some lint fixes, for gas-price-chart 2018-12-04 00:06:05 -03:30
Dan Miller
6f0406125d Clean up gas chart code. 2018-12-04 00:06:05 -03:30
Dan Miller
aa798cc545 Add control arrows to advanced gas tab inputs. 2018-12-04 00:06:05 -03:30
Dan Miller
cd32c58fb4 Complete integration of gas chart with redux. 2018-12-04 00:06:05 -03:30
Dan Miller
a2bbf504b8 Read only connection of gas price chart to redux 2018-12-04 00:06:05 -03:30
Dan Miller
2dbae581ac Gas price chart improvements, redesign, bug fixes, and set up to receive external data 2018-12-04 00:06:05 -03:30
Dan Miller
0ba6f7d9bb Adds not yet functional gas price chart. 2018-12-04 00:06:05 -03:30
Dan Miller
6dd1028c71 Lint and unit test fixes. 2018-12-04 00:06:05 -03:30
Dan Miller
6f8e2b1ad9 Clean up for advanced gas tab customization changes. 2018-12-04 00:06:05 -03:30
Dan Miller
b95eb30ec6 Adds redesign for the customize gas advanced tab. 2018-12-04 00:06:04 -03:30
Dan Miller
5354325fab Test updates and additions for button integration with send screen. 2018-12-04 00:06:04 -03:30
Dan Miller
b567c78bca Integrate gas buttons with the send screen. 2018-12-04 00:06:04 -03:30
Dan Miller
7de3f22d63 Connects remained of the gas customization component to redux. 2018-12-04 00:06:04 -03:30
Dan Miller
58feb24fa7 Styling fixes for gas customization advanced tab content. 2018-12-04 00:06:04 -03:30
Dan Miller
d07d40cf7c Improvements to propdefaults in button-group.component and basic-tab-content.component 2018-12-04 00:06:04 -03:30
Dan Miller
0a7dfcd55d Connect the gas-button-group component to redux and a live api. 2018-12-04 00:06:04 -03:30
Dan Miller
112d18e316 Adds basic tab content to gas customizer, with styled button group (static, for now). 2018-12-04 00:06:04 -03:30
Dan Miller
57cd721800 Improve styling of advanced-tab-content gasInput row 2018-12-04 00:06:04 -03:30
Dan Miller
99c8804eeb Add tests for advanced-tab-component.js and subcomponents. 2018-12-04 00:06:04 -03:30
Dan Miller
3b9ec8e1bc Remove gas slider from advance-tab-content.component 2018-12-04 00:06:04 -03:30
Dan Miller
d55a2615a4 Split advanced-tab-content.component.js render() method into smaller pieces; add translations to the same file. 2018-12-04 00:06:04 -03:30
Dan Miller
342dc95410 Adds the content of the advanced tab - w/o chart or dynamic content - to gas customize modal. 2018-12-04 00:06:04 -03:30
Dan Miller
5e7409482b Use BEM for css in gas-modal-page-container 2018-12-04 00:06:04 -03:30
Dan Miller
88d8eb289e Use correct message key in gas-modal-page-container.component.js 2018-12-04 00:06:04 -03:30
Dan Miller
f9aa5a70de Adds new gas customization modal container (without content) 2018-12-04 00:06:04 -03:30
Dan J Miller
4c24555545 Save recent network balances in local storage (#5843)
* Use selector for state.metamask.accounts in all cases.

* Default to cached balance when selecting metamask accounts

* Adds the cached-balances controller

* Documentation and small codes fixes for #5843

Co-Authored-By: danjm <danjm.com@gmail.com>
2018-11-30 14:51:24 -08:00
Whymarrh Whitby
88defe3623
Hide app-header when provider request pending (#5831) 2018-11-26 16:51:07 -03:30
Thomas Huang
4054b1cb84 Increase Token Symbol length to twelve 2018-11-22 12:39:59 -06:00
Bruno Barbieri
ae8626eceb
Merge pull request #5797 from MetaMask/trezor-v6
Add Firefox and Brave support for Trezor
2018-11-21 14:45:55 -05:00
Whymarrh Whitby
7229f0f9fc
Fix usage of setState in ConfirmTransactionBase#handleSubmit (#5799) 2018-11-21 15:22:18 -03:30
Whymarrh Whitby
74c18ef0e8
Show byte count for hex data on confirm screen (#5798) 2018-11-21 15:21:34 -03:30
brunobar79
9b1df386de fix merge conflicts 2018-11-20 17:44:28 -05:00
Whymarrh Whitby
c5da84d7a2 Remove "Beta" from header logo 2018-11-20 14:04:50 -03:30
Alexander Tseung
a7b3750a3e Fix button styling for Create Account Connect (#5787) 2018-11-19 22:46:41 -08:00
Alexander Tseung
4c87c05a02
Fix rounding issue when sending max tokens (#5695)
* Fix rounding issue when sending max tokens

* Ensure amount row shows exact amount of max tokens on send screen (#2)

* Fix tests

* Change stored redux value from BigNumber to hex string. Fix TokenInput default value
2018-11-19 16:06:34 -08:00
Whymarrh Whitby
1988e1e96b ESLint fixes (#5775)
* eslint . --fix

* Upgrade all ESLint warnings to errors
2018-11-16 14:54:55 -10:00
brunobar79
c0557b43e2 clean up 2018-11-15 00:34:49 -05:00
brunobar79
18f39ef69e Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-11-14 15:42:45 -05:00
Alexander Tseung
46b29a50f0 Show APPROVED status for transactions that have been approved but not submitted 2018-11-13 17:37:01 -08:00
brunobar79
484aa6801e Merge branch 'develop' into trezor-v5 2018-11-13 17:21:15 -05:00
PaddyMc
7ce2cf4572 Fixes #3425: Better support for batch transactions (#5437) 2018-11-13 13:49:12 -03:30
Vimal
6bb92a8672 merging upstream branch 2018-11-12 17:50:37 +05:30
Alexander Tseung
83ffb9fafe
Increase number of ETH decimals displayed in the balance view from 3 to 4 (#5710) 2018-11-09 10:17:42 -08:00
brunobar79
c651212025 fix merge conflicts 2018-11-06 20:21:19 -05:00
Whymarrh Whitby
f692123f51 Update the colour of the default image used on Connect Request (#5678) 2018-11-05 15:07:09 -08:00
Whymarrh Whitby
5d928e67c3 Update "Learn more" link on 1102 connect screen (#5677) 2018-11-05 15:07:09 -08:00
Whymarrh Whitby
26ada8a828 Update Connect Request screen design (#5644)
* Parameterize NetworkDisplay background colour

* Update design for login request screen

* Pass siteTitle, siteImage through for calls to ethereum.enable()

* Bring the site images closer together
2018-11-05 15:07:09 -08:00
bitpshr
226601a956 EIP-1102: add user privacy option 2018-11-05 15:07:09 -08:00
bitpshr
89b4aa5d62 EIP-1102: Add option to force-enable provider 2018-11-05 15:07:09 -08:00
bitpshr
c76c9ca2c8 EIP-1102: updated implementation 2018-11-05 15:07:09 -08:00
HackyMiner
ac079365e6 fixed currency-display (#5619)
* call getValueFromWeiHex() with fromCurrency=nativeCurrency
2018-10-30 12:15:38 +01:00
kumavis
310229d22e
Merge pull request #5567 from MetaMask/HowardBraham-develop
Feature: Warn when attempting to send tx with data to non-contract
2018-10-29 21:47:07 -04:00
HackyMiner
54a8ade266 Add support for RPC endpoints with custom chain IDs (#5134) 2018-10-26 10:26:43 +02:00
kumavis
9b42416fc0 Merge branch 'develop' of github.com:MetaMask/metamask-extension into HowardBraham-develop 2018-10-25 22:24:30 -04:00
Alexander Tseung
554f79c0e2
Fix blockies icons overriding contract map icons. Refactor Identicon component (#5599) 2018-10-25 17:21:41 +08:00
Alexander Tseung
7852269ed1
Add Activity Log entry for onchain failures for a transaction. Change scrolling of the transaction list. Remove Transaction Details modal. (#5581) 2018-10-23 19:59:04 +08:00
Vimal
82b11b69a5 Adding CoinSwitch exchange 2018-10-22 16:44:21 +05:30
Alexander Tseung
614995c0e9 Fix account display width for large currency values 2018-10-21 22:01:20 +08:00
brunobar79
9c1b2108f6 fix merge conflicts 2018-10-21 01:59:53 -04:00
kumavis
fda101912b ui - use variable to clarify result of emptiness check 2018-10-21 00:52:41 -04:00
kumavis
3b46478024
Merge branch 'develop' into develop 2018-10-20 23:48:10 -04:00
Thomas
4d1d4a1159 Update Shapeshift logo url and adjust list item contents 2018-10-17 20:40:09 -07:00
Whymarrh Whitby
42fa54678f Extract Add Token button into its own component 2018-10-17 15:49:29 -02:30
Alexander Tseung
badebe017f
Adds toggle for primary currency (#5421)
* Add UnitInput component

* Add CurrencyInput component

* Add UserPreferencedCurrencyInput component

* Add UserPreferencedCurrencyDisplay component

* Add updatePreferences action

* Add styles for CurrencyInput, CurrencyDisplay, and UnitInput

* Update SettingsTab page with Primary Currency toggle

* Refactor currency displays and inputs to use UserPreferenced displays and inputs

* Add TokenInput component

* Add UserPreferencedTokenInput component

* Use TokenInput in the send screen

* Fix unit tests

* Fix e2e and integration tests

* Remove send/CurrencyDisplay component

* Replace diamond unicode character with Eth logo. Fix typos
2018-10-17 07:03:29 +08:00
brunobar79
13820b6cc1 fix conflicts 2018-10-16 14:01:54 -04:00
Whymarrh Whitby
bdb6e55354 Decrease click area for AmountMaxButton on send screen 2018-10-15 21:04:07 -02:30
Michael J. Cohen
8c33c018de add tooltip for view etherscan tx (#5518)
* add tooltip for view etherscan tx

* run lint
2018-10-15 20:32:57 -02:30
Alexander Tseung
c821a8354c
Add txReceipt data to transaction details (#5513) 2018-10-16 06:00:47 +08:00
Whymarrh Whitby
5cde74fe88 Update Zendesk links for new subdomain 2018-10-11 13:36:24 -02:30
bakaoh
63c61c52eb Make all addresses EIP-55 compliant (#5379)
* Make all addresses EIP-55 compliant

* Checksum autocompleted address but not during input
2018-10-10 10:50:37 -02:30
Bruno Barbieri
ccab4ee1a4 tests - integration - Add Drizzle tests (#5467)
* added drizzle app for testing

* working

* clean up

* clean up script

* make build step required

* add drizzle-tests to .eslintignore

* clean up drizzle run script

* lint

* use truffle unbox

* undo eslintignore changes

* revert change

* dont use global

* dont need this steps

* use the new account flow

* restore package-lock.json
2018-10-10 01:12:43 -04:00
Santiago Gonzalez Toral
fd14d3f090 Fixed lint errors 2018-10-09 19:43:41 -07:00
Santiago Gonzalez Toral
f88373237b Added account options on home screen 2018-10-09 19:43:41 -07:00
Howard Braham
4cc0b1ef01 ganache-core merged my PR, so I changed some comments to clarify that ganache-core v2.2.1 and below will return the non-standard '0x0' 2018-10-09 15:31:25 -07:00
Howard Braham
222e62d7f1 Bug Fix: #1789 and #4525 eth.getCode() with no contract 2018-10-09 15:31:25 -07:00
Alexander Tseung
37322f9f4e Fix token values being undefined 2018-10-08 17:05:57 -07:00
Whymarrh Whitby
888e5b4f16
Merge pull request #5442 from whymarrh/fix-page-container-footer
Fix markup for inline instances of PageContainers
2018-10-05 19:04:55 -02:30
Whymarrh Whitby
7dd1254424 Fix markup for inline instances of PageContainers 2018-10-05 18:13:29 -02:30
Alexander Tseung
c474f30929 Fix action translations edge cases 2018-10-05 13:21:10 -07:00
Alexander Tseung
50d91f998d Translate method names in the transaction list only when applicable 2018-10-04 19:26:41 -07:00
Whymarrh Whitby
2c5fb11b37 Remove "Copy Contract Address" from token options 2018-10-03 13:49:03 -02:30
Whymarrh Whitby
b11a8ca2f7
Merge pull request #5329 from whymarrh/confirm-features
Add batch reject to confirm screen
2018-10-01 22:02:47 -02:30
Whymarrh Whitby
65ba018aad Only use current network txs when calculating "Reject All" 2018-10-01 17:32:01 -02:30
Whymarrh Whitby
e351a7dd74 Switch page-container__footer-* for header and footer tags 2018-10-01 17:32:01 -02:30
Whymarrh Whitby
d28453234c Reword batch reject confirm as "Reject All" 2018-10-01 13:44:54 -02:30
Whymarrh Whitby
2e35c05f14 Confirm rejecting multiple transactions with modal 2018-10-01 13:44:54 -02:30
Whymarrh Whitby
7610248f8c s/Cancel/Reject/ on confirm screen for clarity 2018-10-01 13:44:54 -02:30
Whymarrh Whitby
0fa9299cd1 Add "Cancel All" button to confirm footer 2018-10-01 13:44:54 -02:30
Whymarrh Whitby
2e5a09e28c Have PageContainerFooter take children node 2018-10-01 13:44:54 -02:30
Whymarrh Whitby
ce2e068b43 Recipient not required on send screen when hex data present 2018-10-01 12:53:32 -02:30
Whymarrh Whitby
c9f22916dd Rework estimateGas logic
The tests still pass!
2018-10-01 12:53:32 -02:30
Whymarrh Whitby
918fb71df3 Update gas when hex data changes on send screen 2018-10-01 12:53:32 -02:30
Whymarrh Whitby
3741927d8d Update send.utils.test to with better mocks 2018-10-01 12:53:32 -02:30
Whymarrh Whitby
508a712479 Allow sending transactions with hex data and no recipient 2018-10-01 12:53:32 -02:30
HackyMiner
13a1d46720 support editable customRPC (#5267)
* support editable customRPC #5246

* remove rpcList size restriction
2018-09-28 17:23:58 -02:30
Alexander Tseung
cf6bead7ef Close transaction details modal when clicking speed up 2018-09-26 17:38:49 -07:00
Thomas Huang
db30bbce4c
Merge pull request #5332 from MetaMask/ui-unit-tests
Some Ui tests
2018-09-25 23:17:17 -05:00
Alexander Tseung
5d57c7c4fd
Merge pull request #5282 from MetaMask/tx-cancel-ui
Add Cancel Transaction feature. Refactor modals. Add Transaction Details modal.
2018-09-24 11:34:12 -07:00
tmashuang
a0a57c24fd Some Ui tests 2018-09-24 11:28:04 -05:00
Alexander Tseung
04988eca5e
Merge pull request #5241 from MetaMask/refactor-settings
Refactor settings page to use JSX and follow component file folder st…
2018-09-20 23:33:04 -07:00
Alexander Tseung
431beb9436 Fix multiplyCurrencies. Add onClose prop for Modal component. Remove hideModal from modal components. 2018-09-20 19:44:23 -07:00
Alexander Tseung
01166b26ed Fix translation casing 2018-09-20 15:53:53 -07:00
Alexander Tseung
9088fd1de4 Add Current Conversion Updated string to translations 2018-09-19 16:55:58 -07:00
Alexander Tseung
b579ee9619 Refactor settings page to use JSX and follow component file folder structure 2018-09-19 16:37:23 -07:00
Alexander Tseung
2cfdc95eeb Add unit tests 2018-09-19 14:31:10 -07:00
Alexander Tseung
6b3a4e8259 Fix unit tests 2018-09-19 14:31:10 -07:00
Alexander Tseung
2779936317 Add transition effect to TransactionListItemDetails expander 2018-09-19 14:31:10 -07:00
Alexander Tseung
95e1eff4ca Add TransactionDetails modal 2018-09-19 14:31:10 -07:00
Alexander Tseung
5a6c333506 Switch existing modals from using Notification to Modal. Remove Notification component. Add CancelTransaction modal 2018-09-19 14:31:10 -07:00
Alexander Tseung
04ec3f0b6b Fix Transaction view styles 2018-09-19 14:31:10 -07:00
Alexander Tseung
d0d0103bb5 Add Modal component 2018-09-19 14:31:10 -07:00