1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 08:09:15 +01:00
Commit Graph

1070 Commits

Author SHA1 Message Date
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
Mark Stacey
1fd3dc9ecf
Switch from npm to yarn (#6843)
As a solution to the constant lockfile churn issues we've had with
`npm`, the project now uses `yarn` to manage dependencies.

The `package-lock.json` file has been replaced with `yarn.lock`, which
was created using `yarn import`. It should approximate the contents of
`package-lock.json` fairly well, though there may be some changes due to
deduplication. The codeowners file has been updated to reference this
new lockfile.

All documentation and npm scripts have been updated to reference `yarn`
rather than `npm`. Note that running scripts using `npm run` still works
fine, but it seemed better to switch those to `yarn` as well to avoid
confusion.

The `npm-audit` Bash script has been replaced with `yarn-audit`. The
output of `yarn audit` is a bit different than `npm audit` in that it
returns a bitmask to describe which severity issues were found. This
made it simpler to check the results directly from the Bash script, so
the associated `npm-audit-check.js` script was no longer required. The
output should be exactly the same, and the information is still sourced
from the same place (the npm registry).

The new `yarn-audit` script does have an external dependency: `jq`.
However, `jq` is already assumed to be present by another CI script, and
is present on all CI images we use. `jq` was not added to `package.json`
as a dependency because there is no official package on the npm
registry, just wrapper scripts. We don't need it anywhere exept on CI
anyway.

The section in `CONTRIBUTING` about how to develop inside the
`node_modules` folder was removed, as the advice was a bit dated, and
wasn't specific to this project anyway.
2019-07-30 15:36:23 -03:00
Alessandro Ricottone
e81aa6073d Resolve onion addresses (#6869)
* Resolve onion address
* npm i content-hash@latest
2019-07-23 16:59:20 -02:30
Whymarrh Whitby
2788a9463f Bump eth-sig-util to 2.3.0 (#6896)
* Bump eth-sig-util to 2.3.0

* Bump eth-keyring-controller to 4.x
2019-07-23 12:23:42 -07:00
Mark Stacey
0f8a9a5d49
Serve CSS as an external file (#6894)
The CSS is now served as an external file instead of being injected.
This was done to improve performance. Ideally we would come to a middle
ground between this and the former behaviour by injecting only the CSS
that was required for the initial page load, then lazily loading the
rest. However that change would be more complex. The hope was that
making all CSS external would at least be a slight improvement.

Performance metrics were collected before and after this change to
determine whether this change actually helped. The metrics collected
were the timing events provided by Chrome DevTools:

* DOM Content Loaded (DCL) [1]
* Load (L) [2]
* First Paint (FP) [3]
* First Contentful Paint (FCP) [3]
* First Meaningful Paint (FMP) [3]

Here are the results (units in milliseconds):

Injected CSS:

| Run | DCL | L | FP | FCP | FMP |
| :--- | ---: | ---: | ---: | ---: | ---: |
| 1 | 1569.45 | 1570.97 | 1700.36 | 1700.36 | 1700.36 |
| 2 | 1517.37 | 1518.84 | 1630.98 | 1630.98 | 1630.98 |
| 3 | 1603.71 | 1605.31 | 1712.56 | 1712.56 | 1712.56 |
| 4 | 1522.15 | 1523.72 | 1629.3 | 1629.3 | 1629.3 |
| **Min** | 1517.37 | 1518.84 | 1629.3 | 1629.3 | 1629.3 |
| **Max** | 1603.71 | 1605.31 | 1712.56 | 1712.56 | 1712.56 |
| **Mean** | 1553.17 | 1554.71 | 1668.3 | 1668.3 | 1668.3 |
| **Std. dev.** | 33.41 | 33.43 | 38.16 | 38.16 | 38.16 |

External CSS:

| Run | DCL | L | FP | FCP | FMP |
| :--- | ---: | ---: | ---: | ---: | ---: |
| 1 | 1595.4 | 1598.91 | 284.97 | 1712.86 | 1712.86 |
| 2 | 1537.55 | 1538.99 | 199.38 | 1633.5 | 1633.5 |
| 3 | 1571.28 | 1572.74 | 268.65 | 1677.03 | 1677.03 |
| 4 | 1510.98 | 1512.33 | 206.72 | 1607.03 | 1607.03 |
| **Min** | 1510.98 | 1512.33 | 199.38 | 1607.03 | 1607.03 |
| **Max** | 1595.4 | 1598.91 | 284.97 | 1712.86 | 1712.86 |
| **Mean** | 1553.8025 | 1555.7425 | 239.93 | 1657.605 | 1657.605 |
| **Std. dev.** | 29.5375 | 30.0825 | 36.88 | 37.34 | 37.34 |

Unfortunately, using an external CSS file made no discernible improvement
to the overall page load time. DCM and L were practically identical, and
FCP and FMP were marginally better (well within error margins).

However, the first paint time was _dramatically_ improved. This change
seems worthwhile for the first paint time improvement alone. It also
allows us to delete some code and remove a dependency.

The old `css.js` module included two third-party CSS files as well, so
those have been imported into the main Sass file. This was easier than
bundling them in the gulpfile.

The resulting CSS bundle needs to be served from the root because we're
using a few `@include` rules that make this assumption. We could move
this under `/css/` if desired, but we'd need to update each of these
`@include` rules.

Relates to #6646

[1]: https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
[2]: https://developer.mozilla.org/en-US/docs/Web/Events/load
[3]: https://developers.google.com/web/fundamentals/performance/user-centric-performance-metrics
2019-07-23 14:10:13 -03:00
Mark Stacey
2a7278eb7e
Remove Babel transformations for older browser versions (#6812)
The Babel config had previously supported all browsers with greater than
0.25% global usage (according to `browserlist`). This resulted in
`babel-preset-env` including plugins sufficient to support the following
minimum browser versions:

```
{
  "chrome": "49",
  "android": "4.4",
  "edge": "16",
  "firefox": "52",
  "ios": "9.3",
  "safari": "11"
}
```

Instead, the babel config now explicitly supports chrome >= 58 and
firefox >= 53. Chrome and Firefox are the only browsers we currently
publish to, and these were the minimum versions with no additional Babel
transformations.

The minimum browser versions we support should be re-evaluated later,
when we have added tests and documentation.

The plugin 'transform-async-to-generator' has also been removed. It was
used to translate async/await, but our browser targets all support
async/await.

Removing some of these transformations exposed bugs in `uglify-es` that
only presented themselves in the production build. `gulp-uglify-es` has
been updated to a version that uses `terser` instead of `uglify-es`,
which has resolved these issues.

Relates to #6805
2019-07-18 18:17:20 -03:00
Mark Stacey
32fffe53f5
Remove Drizzle tests (#6855)
The Drizzle tests have not been used for some time. They were used to
ensure compatibility with newer versions of `web3` v1. If we want to
re-add tests to ensure compatibility with newer `web3` versions, we
should find some way of doing that more reliably than was done here -
these tests were somewhat flaky and unreliable.
2019-07-15 17:10:46 -03:00
Mark Stacey
04ae92a2c0
Lint .json files (#6852)
We've been using the `eslint-plugin-json` plugin for some time, but we
haven't been visiting `.json` files in the lint script. The lint script
has now been updated to incude `.json` files, which means any invalid
JSON will result in a lint error.

Unfortunately this JSON plugin doesn't seem to apply the other eslint
rules (such as `key-spacing`) to the JSON files. I wasn't able to find a
way to get that to work. Instead I manually auto-formatted each of the
locale `message.json` files, which fixed many whitespace
inconsistencies.

The `states.json` file was deleted completely, as it appears to be
unused. It wasn't a valid JSON file anyway, it was JavaScript. It looks
like a `states.js` file is automatically generated, but an old copy was
accidentally saved as `states.json` and included in the repo.

Many duplicate key errors were found and fixed in the
`development/states/` JSON files.

`package-lock.json` was added to `.eslintignore` because it was very
slow to lint, and linting it doesn't provide much value.
2019-07-15 11:03:22 -03:00
Mark Stacey
270d1d0fa9
Add eslint dependency (#6842)
We had forgotten to add `eslint` as a dependency, even though we use it
directly. It had always worked because we have dependencies that also
depend upon it.

`eslint` has also been updated to v6, which necessitated two minor
changes.
2019-07-15 10:15:49 -03:00
Erik Marks
9be7fd39ba Sync lockfile (#6833) 2019-07-12 15:22:27 -02:30
Mark Stacey
ea7ba5dd5f
Remove unused AppVeyor configuration (#6840)
The AppVeyor configuration appears to be unused - this project is not
connected to AppVeyor.

After deleting the AppVeyor config, the JSDoc config was the last thing
in the `development/tools` directory. That felt a little silly, so I
moved it up to `development`.
2019-07-12 12:42:36 -03:00
Whymarrh Whitby
830c801ec3
Add React and Redux DevTools (#6793)
* Add React and Redux DevTools

* Conditionally load react-devtools

* Add start:dev npm script to run the app with devtools

Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
2019-07-11 12:27:06 -02:30
Whymarrh Whitby
caa40912ac
Replace deprecated shell-parallel with concurrently (#6807)
* Replace shell-parallel with concurrently

* Update ganache-cli
2019-07-09 14:09:31 -02:30
Whymarrh Whitby
b7f3f26ebf
Remove job-screens CI job (#6823)
* Remove job-screens CI job
* Remove unused dependencies, now that job-screens is gone
2019-07-08 17:02:15 -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
Mark Stacey
47544110a2
Remove unused babel-polyfill dependency (#6814)
The lockfile hasn't changed because this package is a dependency of
`fetch-mock`.
2019-07-05 18:57:19 -03:00
Mark Stacey
7f7517b9e6
Remove unused Babel transformations (#6811)
The `stage-0` Babel preset has been replaced with the specific Babel
plugins that we depend upon. We don't use most of `stage-0`, so this
allowed us to remove many unnecessary transformations. We had to remove
this preset soon anyway, because all of the stage presets are
deprecated in Babel 7.

The `stage-0` preset consisted of these plugins:
```
"transform-do-expressions"
"transform-function-bind"
"transform-class-constructor-call"
"transform-export-extensions"
"transform-class-properties"
"transform-decorators"
"syntax-dynamic-import"
"syntax-trailing-function-commas"
"transform-async-generator-functions"
"transform-async-to-generator"
"transform-exponentiation-operator"
"transform-object-rest-spread"
```

Of that list, only 'transform-class-properties', 'transform-object-
rest-spread', and 'transform-async-to-generator' were being used.
2019-07-05 16:08:11 -03:00
Mark Stacey
7a5d0f7e7f
Remove unused gulp-uglify dependency (#6810)
The switch was made to `gulp-uglify-es` some time ago, but `gulp-uglify`
was never removed.
2019-07-05 15:30:08 -03:00
Mark Stacey
c7608e6fe9
Remove disc (#6801)
The `disc` gulp command no longer works. I wasn't able to fix this
easily, so instead it has been removed. We can probably find something
better to replace it with.
2019-07-04 11:54:10 -03:00
Mark Stacey
714cf72fc3
Omit integration tests from default test script (#6803)
The integration tests are slow, and rather inconvenient to run in
development on a regular basis (they break if you move the mouse). They
have been removed from the `test` script, to make running `test`
frequently during development less painful.
2019-07-04 11:50:24 -03:00
Whymarrh Whitby
5737df249d
Move e2e tests out of beta dir (#6785) 2019-07-02 23:19:59 -02:30
Whymarrh Whitby
8b5ef5b45e
Update eth-contract-metadata to use published registry version (#6784) 2019-07-02 22:48:23 -02:30
Mark Stacey
865321d269
Update asmcrypto.js to latest version (#6767)
This silences a warning message that was printed to the console whenever
this module was loaded during tests.

The API changes between these two versions were reviewed carefully for
differences. The only difference made was to `PBKDF2_HMAC_SHA256.bytes`,
which was replaced by `Pbkdf2HmacSha256`.

The length argument no longer has a default value, so it has been set
to match what the default value was in the previous version we used,
which is 32 (the SHA256 hash size).
2019-07-02 22:16:20 -03:00
Mark Stacey
9fd8a3d46e
Move Browserify transforms to gulpfile (#6768)
The flat tests also rely upon these transformations, yet invoke
browserify from the command line rather than using the gulpfile. The
transformations have been specified on the command line for those
instead.

Of course it's not ideal to have the same transformations listed in two
different places, but the plan is to delete the flat tests soon anyway,
so this should suffice until then.

Closes #4538
2019-07-01 21:26:24 -03:00
Mark Stacey
b9f69b535f
Generate complete source maps (#6756)
The source maps generated previously were mapping the bundled files to
the post-Babel files - they weren't showing mapping to the source files
as written.

It looks like this was a result of `reactify` being used in addition to
babel - that transformation must have dropped the source maps.

`reactify` still needs to be listed as a dependency because it is
an unlisted requirement of the `boron` package, which we use. We don't
need to use it to create our bundles though, as Babel already performs
the transformations we need.
2019-06-27 11:28:29 -03:00
Whymarrh Whitby
a6246f38f5
Merge pull request #6736 from whymarrh/unused-deps
Remove unused dependencies
2019-06-24 18:09:36 -02:30
Mark Stacey
225eaa65cc Fix 'watch' npm script
The `watch` npm script did not work - it must have gone unused for some
time. The following changes were required for it to work:
* Use the `--watch` flag, rather than the `watch` command (which appears
to not exist)
* Set the `METAMASK_ENV` environment variable to "test"
* Include the tests in the `ui` directory
* require the `test/setup.js` file before running the tests

The reporter was also changed to `min`, which is generally recommended
for use with the `--watch` flag.
2019-06-24 17:11:50 -03:00
Whymarrh Whitby
487508276e Uninstall unused jshint-stylish 2019-06-20 21:28:01 -02:30
Whymarrh Whitby
13c40eb1eb Uninstall unused prompt 2019-06-20 21:28:01 -02:30
Whymarrh Whitby
8039c8edc9 Sort deps correctly 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
1994f33913 Uninstall unused react-addons-test-utils & react-testutils-additions 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
7acc6d991c Uninstall unused sandwich-expando, semaphore, semver, & shallow-copy 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
579f491e55 Uninstall unused react-markdown dependency 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
7574f3df1e Uninstall unused pumpify 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
35e2b7a1de Uninstall unused pojo-migrator 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
5236fb733e Uninstall unused multiplex 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
1866f4b4af Uninstall unused fast-levenshtein 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
4d4ce8a2a5 Uninstall unused lodash.uniqby 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
6c511f8fd0 Uninstall unused eth-hd-keyring 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
5821e8e16b Uninstall unused lodash.memoize 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
c8d3c39383 Uninstall unused hat 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
9c13d74e7e Uninstall unused identicon.js 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
77a515fbc4 Uninstall unused extension-link-enabler 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
d2711513c0 Uninstall unused eth-bin-to-ops 2019-06-20 21:27:47 -02:30
Whymarrh Whitby
61d75bedea Uninstall unused ensnare 2019-06-20 21:27:47 -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
Thomas Huang
f897f414fe pin ethereumjs-tx (#6706) 2019-06-11 17:24:47 +02:00
Whymarrh Whitby
569a8e5945 Successful `npm audit' with all required pkgs 2019-06-06 13:33:38 -02:30
Whymarrh Whitby
a1848983f8 npm audit: Works with gaba but w/o ganache-core 2019-06-06 13:33:32 -02:30
Whymarrh Whitby
1ad52a878d npm audit: Break karma, 1 less low, 1 less high 2019-06-06 13:33:16 -02:30
Whymarrh Whitby
84a949b298 npm audit: Use eth-json-rpc-infura@3 2019-06-06 13:33:04 -02:30
Whymarrh Whitby
c36662f3b0 Move eth-json-rpc-middleware into prod dependencies 2019-06-06 13:32:47 -02:30
Whymarrh Whitby
13feeb25d5 Break Storybook-related pkgs to reduce listed vulnerabilities 2019-06-06 13:32:08 -02:30
Whymarrh Whitby
6239d189cb npm audit fix 2019-06-06 13:32:08 -02:30
Whymarrh Whitby
acfd438329 npm audit: Works with eth-trezor-keyring 2019-06-06 13:32:43 -02:30
Whymarrh Whitby
41ebc2e127 npm audit: Works with eth-ledger-bridge-keyring 2019-06-06 13:32:38 -02:30
Whymarrh Whitby
d52f319a32 npm audit: Works with eth-json-rpc-middleware 2019-06-06 13:32:34 -02:30
Whymarrh Whitby
3dd19bd834 npm audit: Works with eth-json-rpc-filters 2019-06-06 13:32:30 -02:30
Whymarrh Whitby
048ac8af10 npm audit: Works with eth-json-rpc-infura 2019-06-06 13:32:22 -02:30
Whymarrh Whitby
d961454949 Add ethereumjs-tx dependency back 2019-06-06 13:32:08 -02:30
Whymarrh Whitby
95be7d5def Successful `npm audit' run w/o some packages
The following packages have been removed as I work to figure out what is causing
npm audit to produce errors:

eth-json-rpc-filters
eth-json-rpc-infura
eth-json-rpc-middleware
eth-ledger-bridge-keyring
eth-trezor-keyring
ethereumjs-tx
gaba

These packages will slowly be added back in forthcoming commits.
2019-06-06 13:30:14 -02:30
Paul Bouchon
47024fd9a5
feature: integrate gaba/CurrencyRateController (#6570) 2019-05-31 18:14:22 -04:00
pldespaigne
9a658ee53d merge 2019-05-30 18:22:55 +02:00
pldespaigne
9b87aaae19 update package 2019-05-30 12:21:45 +02:00
Frankie
2b5c7b82a9
transactions/deps - use broken out nonce-tracker module (#6555) 2019-05-21 17:17:09 +02:00
bitpshr
77d3bc252d feature: integrate gaba/PhishingController 2019-05-08 17:56:52 -04:00
Chi Kei Chan
56ed189aeb
Auto logout after specific time (#6558)
* Add i18n strings

* Finish Auto timeout

* Fix linter

* Fix copies

* Add unit test to Advanced Tab component

* Add back actions and container

* Add basic test to ensure container completeness

* No zero, fix linters

* restrict negative in input
2019-05-08 11:57:21 -07:00
Thomas
d8a96e6898 Bump eth-json-rpc-filters and eth-contract-metadata 2019-05-08 09:20:53 -07:00
Chi Kei Chan
581128503c Allow dragging seed phrase during Confirm Seed Phrase (#6557)
* Add basic drag and drop functionality

* Refactor seed phrase data structure

* Insert to list when drop

* Save before refactor

* Finish DND

* Fix linter

* update package-lock.json

* Address styling feedbacks

* Add box shadow on hover

* Finish adding unit tests

* Remove describe.only
2019-05-07 12:33:26 -02:30
Dan J Miller
64ae8131de
Adds NPM scripts for running a dapp, and dapp + chain, locally. (#6565) 2019-05-06 12:01:34 -02:30
pldespaigne
8cb6bd34e0 update content-hash 2019-05-04 18:56:26 +02:00
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
Dan J Miller
7d59e892e3 Update to eth-method-registry@1.2.0 (#6403) 2019-04-17 15:51:21 -02:30
Sneh Koul
fb22fb12ca Adds e2e test for most web3 methods that dapps use (#6160)
* schema added

* ui for the dapp added and schema.js changed according to the comments in PR

* added tests for all web3 methods

* Update run-all.sh

* Update web3.spec.js to work with new onboarding flow

* changes made according to the comments

* Create stand alone script for web3 e2e tests.

* Lint fixes for web3 e2e tests.
2019-04-16 15:29:11 -02:30
Esteban Mino
7c38ad9356 bump contract metadata 2019-04-12 12:26:39 -04:00
Esteban Miño
55cb4bf907
pin eth-contract-metadata to last commit hash (#6396) 2019-04-04 15:49:10 -03:00
pldespaigne
dc4c40414e issue#5742 2019-04-04 17:15:57 +02:00
Bruno Barbieri
fee0da1ca3
bump ledger and trezor keyring (#6395) 2019-04-03 16:05:52 -04:00
Whymarrh Whitby
7fc84f3cc0 ci: Add build:test Gulp task for e2e build 2019-03-29 11:13:39 -02:30
Dan Miller
a44f2bb6eb Use webRequest to cancel all requests to infura in e2e tests. 2019-03-28 16:20:11 -02:30
Whymarrh Whitby
a702ade3fe Bump gaba version to avoid broken eth-contract-metadata 2019-03-20 17:01:15 -02:30
Dan Finlay
823007121d Add rollback script, move auto-changelog script (#6252) 2019-03-20 09:48:50 -02:30
kumavis
e072a3d993 build - babel - move config to babelrc (#6284) 2019-03-12 13:25:28 -02:30
kumavis
48047f8194 mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
Whymarrh Whitby
0c52199007 npm i -D ganache-core@2.5.3 2019-03-12 09:59:27 -02:30
Paul Bouchon
daae155ce2 GABA: Integrate AddressBookController (#5847)
* gaba: integrate AddressBookController

* pin gaba version and update lockfile
2019-03-11 18:40:41 -10:00
Bruno Barbieri
82713983e3 bump trezor-connect to v7 (#6224) 2019-03-04 10:17:44 -08:00
kumavis
fc1655eecb
Merge pull request #6190 from whymarrh/tmp.RvdXXs4i
Remove public property from package.json file
2019-02-26 21:41:15 +08:00
Dan Finlay
f507f2a927 Feature Flag + Mobile Sync (#5955) 2019-02-25 15:40:13 -03:30
Whymarrh Whitby
dc007178e3 Remove public property from package.json file
As per the package.json documentation [1] setting `"private": true` in the
package.json file is enough for npm to refuse to publish it. The docs don't
specify that a `public` key is respected.

  [1]:https://docs.npmjs.com/files/package.json#private
2019-02-20 14:30:08 -03:30
Whymarrh Whitby
38bb1d3979 Remove unused CI jobs, rename e2e beta jobs 2019-02-20 14:20:39 -03:30
Jonathan Smirnoff
8dddf48904 Fixed issue #5838 (#6001)
Update changelog file
2019-02-13 10:30:46 -10:00
Bruno Barbieri
2cfea0b788 fix asset detection (#6049) 2019-01-22 10:23:11 -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 Finlay
0d8fa9290c Bump json-rpc-engine to v4.0.0 2018-12-10 10:47:36 -08:00
Whymarrh Whitby
d7c8a3048f Deduplicate package.json file
From `npm install`:

> npm WARN The package css-loader is included as both a dev and production dependency.
> npm WARN The package eslint-plugin-react is included as both a dev and production dependency.
> npm WARN The package file-loader is included as both a dev and production dependency.
> npm WARN The package gulp is included as both a dev and production dependency.

It's also worth noting that the Gulp version we were using was inconsistent and there is
a published v4 release on GitHub.
2018-12-06 12:40:57 -03:30
Whymarrh Whitby
ac6b0bd31c Update ganache-core to mitigate vuln
=== npm audit security report ===

> # Run  npm install --save-dev ganache-core@2.3.1  to resolve 1 vulnerability
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Memory Exposure                                              │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ bl                                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ ganache-core [dev]                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ ganache-core > level-sublevel > levelup > bl                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/596                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
2018-12-06 12:40:57 -03:30
Whymarrh Whitby
855c8b209c npm uninstall open 2018-12-06 12:40:57 -03:30
Whymarrh Whitby
b6789a6e2f Remove beefy dependency and its usages
Refs #4768
Refs #5389

This changeset removes the beefy package that:

1. Was last published 2 yrs ago
2. Brought with it 1 moderate and 1 critical vulnerability
3. Was only used in scripts that no longer work
2018-12-06 12:40:57 -03:30
Whymarrh Whitby
c804185081 circleci: Replace nsp with npm audit
Refs #4751
2018-12-06 12:40:57 -03:30
Whymarrh Whitby
c7f46f77ca npm audit fix 2018-12-06 11:46:05 -03:30
Dan Miller
0ba6f7d9bb Adds not yet functional gas price chart. 2018-12-04 00:06:05 -03:30
Dan Finlay
486f9931c4 Pin two module versions to avoid flatmap-stream hack (#5839)
The flatmap-stream module was compromised. MetaMask was NOT affected,
but two of our dependencies could include it if they updated, so I am
temporarily pinning those versions until they can be updated
consciously.

Related to
https://github.com/dominictarr/event-stream/issues/116
2018-11-26 12:35:18 -10: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
brunobar79
b4d48ea3fc bump eth-trezor-keyring 2018-11-21 13:11:24 -05:00
brunobar79
738ed90640 update package-lock.json 2018-11-20 21:16:03 -05:00
brunobar79
7fb9f91d27 trezor v6 2018-11-20 19:12:11 -05:00
brunobar79
9b1df386de fix merge conflicts 2018-11-20 17:44:28 -05:00
Dan Finlay
5956f8d260 Version 5.0.3 (#5785)
* Version 5.0.3

Includes a fix to the `version:bump` script that now correctly updates
the changelog header.

* Include inpage provider events
2018-11-20 08:34:14 -10:00
Frankie
ce147bf6d8 Tx controller now uses safe event emitter (#5769)
* transactions - use safe-event-emitter over events

* tests - pass a platform object on init with a noop showTransactionNotification

* test - fix for tx-state-history-helper trying to reduce an empty array

* deps - safe-event-emitter

* lint
2018-11-16 10:34:08 -08:00
Esteban MIno
6dce32fc1e provide automatic changelog since last tag for linux 2018-11-15 10:12:11 -08:00
Bruno Barbieri
592e6bddfb Update npm dependencies to reduce vulnerabilities (#5556) 2018-11-15 13:32:28 -03:30
brunobar79
c651212025 fix merge conflicts 2018-11-06 20:21:19 -05:00
kumavis
ccbc233282 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-29 20:25:05 -04:00
kumavis
1bb4a8428c
Merge pull request #5596 from MetaMask/validateSignTypedData
Validate signTypedData signer/address in eth-json-rpc-middleware
2018-10-29 20:11:04 -04:00
kumavis
715c309d68 deps - bump eth-json-rpc-middleware for signTypedData version bump 2018-10-29 19:20:35 -04:00
kumavis
231dabb94a deps - bump eth-block-tracker for fix (#5614) 2018-10-26 08:18:26 +02:00
brunobar79
9c1b2108f6 fix merge conflicts 2018-10-21 01:59:53 -04:00
kumavis
f0602ca354 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-20 23:51:00 -04:00
kumavis
539597cb13 deps - fix gulp ref to gulp#v4.0.0 2018-10-20 04:01:50 -04:00
kumavis
73ec4e66cb sentry - include app state in ui errors 2018-10-20 03:14:59 -04:00
kumavis
e3fda83ab2 sentry - replace raven-js with sentry/browser 2018-10-20 02:22:50 -04:00
kumavis
0b12c4efb1 deps - bump eth-json-rpc-middleware for bugfix 2018-10-19 05:18:47 -04:00
kumavis
fb1b8d42ac sentry - update raven-js 2018-10-19 04:40:23 -04:00
brunobar79
13820b6cc1 fix conflicts 2018-10-16 14:01:54 -04:00
kumavis
febf214ee8 deps - bump eth-token-tracker for ethjs-rpc bug in deps 2018-10-14 23:00:13 -04:00
kumavis
5504c8b965 deps - bump eth-json-rpc-middleware for pending blockRef bugfix 2018-10-11 20:10:36 -07:00
Thomas Huang
b45479934d test - add actions unit tests (#5369)
* Actions.spec.js

* Error handling tests

* Lint
2018-10-10 10:32:26 -04:00
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
brunobar79
3293911351 bump eth-json-rpc-middleware 2018-10-09 15:29:51 -07:00
kumavis
9bce0ae84d deps - bump inpage-provider for drizzle workaround 2018-10-08 14:37:52 -04:00
kumavis
a0700de62c deps - bump metamask-inpage-provider for bug fix 2018-10-08 13:23:58 -04:00
kumavis
fe82c4a9fb provider - network - restore block-ref-rewrite middleware references 2018-10-08 12:39:18 -04:00
kumavis
354f8c0d7d provider - enable subscription support (newHeads, logs) 2018-10-08 11:55:07 -04:00
kumavis
c500ef4a58 deps - bump eth-block-tracker for safe-event-emitter 2018-10-04 00:21:45 -04:00
kumavis
1b8326fd95 bugfix - bump provider for url auth support 2018-10-02 05:06:41 -04:00
Whymarrh Whitby
9b1dbb64a9 npm uninstall dot-only-hunter 2018-10-01 12:53:19 -02:30
Whymarrh Whitby
910f674535 Remove dot-only-hunter from test:unit script 2018-10-01 12:53:19 -02:30
Dan Finlay
bdc7116885
Merge pull request #5325 from sam-aldis/patch-1
Debounce was breaking in update
2018-09-30 13:32:51 -07:00
bitpshr
c068f55ee0 bugfix: bump version of inpage provider 2018-09-26 10:26:15 -07:00
kumavis
54de60ff84 deps - eth-block-tracker@4.0.2 for safe-eventemitter (#5363) 2018-09-25 21:59:45 -07:00
Paul Bouchon
88b5f82e13 Bugfix: Upgrade json-rpc-engine (#5348)
* Bugfix: bump version of json-rpc-engine

* Increase delay

* Update lockfile

* deps - json-rpc-engine@3.7.4
2018-09-25 21:16:01 -07:00
brunobar79
678d174e1e add mozilla lint job 2018-09-25 20:44:57 -04:00
Dan Finlay
4f135132d7 Add build step to mozilla-lint 2018-09-25 14:30:53 -07:00
Dan Finlay
32a40641eb Add mozilla linter to dist script instead of main test 2018-09-25 14:28:57 -07:00
Dan Finlay
4d9ca132a3 Add mozilla addon linter to test suite 2018-09-25 14:26:37 -07:00
UKJP Design
981b48c754
Debounce was breaking in update
As found in issue here: https://github.com/MetaMask/metamask-extension/issues/5064
Pinned the version at 1.1.0 until the new version with breaking changes can be intergrated.
2018-09-23 10:42:13 +01:00
bitpshr
36dd0354e7 Implement latest EIP-712 protocol 2018-09-13 15:40:57 -04:00
Dan Finlay
5a709306e4 Add jsdoc gh-pages script 2018-09-12 14:10:38 -07:00
Whymarrh Whitby
f157d5371a Add html reporter to test coverage output 2018-09-11 09:39:16 -07:00
Connor Christie
ee568d5f5a Upgrade obs-store and fix memory leaks 2018-09-09 19:33:51 -05:00
brunobar79
8ee01f4e99 Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-09-05 16:26:09 -04:00
Dan J Miller
5b2864d070
Merge pull request #5138 from MetaMask/greenkeeper/monorepo.enzyme-1.6.0
Update enzyme to the latest version 🚀
2018-09-04 11:25:40 -02:30
Dan Finlay
45cbe6b5b3 Bump human-standard-token-abi version for DAI support 2018-08-30 12:31:24 -07:00
greenkeeper[bot]
012fb0e3e6 chore(package): update enzyme-adapter-react-15 to version 1.0.6 2018-08-25 00:55:45 +00:00
greenkeeper[bot]
41a13bb341 chore(package): update enzyme to version 3.4.4 2018-08-25 00:51:40 +00:00
Alexander Tseung
d1de5ae94f Add react-media package to prevent rendering wallet-view twice in the popup view 2018-08-23 16:44:43 -07:00
Antoine Nauleau
3854650546 Minimum Browsers Supported (#4873)
* Minimum supported browsers and version standard: add browsers and targets to .babelrc and package.json

* Regenerate package.json, fix issue with comma in merge

* Resolve merge conflicts

* Regenerate package-lock.json

* Revert to previous package-lock.json
2018-08-22 20:20:24 -02:30
brunobar79
055e0f8dac fix merge conflicts 2018-08-22 13:37:47 -04:00
Dan Finlay
babd59a2dc
Merge pull request #5109 from MetaMask/MoveOutInpageProvider
Move inpage-provider and port-stream outside
2018-08-21 14:38:47 -07:00
kumavis
13dfea7f2d bugfix - prevents old blocktracker from getting internal hooks migrated 2018-08-21 14:13:23 -07:00
brunobar79
ab7eb73ecc fix merge conflicts 2018-08-20 21:51:35 -04:00
Dan Finlay
6ce119d1fb Move inpage-provider and port-stream outside
With the creation of the [metamask-extension-provider](https://github.com/MetaMask/metamask-extension-provider) we have our first non-core module that is dependent on the inpage-provider and port-stream.

To reduce the size of its dependencies, I have moved the
[metamask-inpage-provider](https://github.com/MetaMask/metamask-inpage-provider) into its own module, as well as [extension-port-stream](https://github.com/MetaMask/extension-port-stream).

This allows them to be more easily depended & iterated on by external
projects.
2018-08-20 15:45:50 -07:00
brunobar79
992e7f1b5a fix merge conflicts 2018-08-17 12:56:07 -04:00
brunobar79
e54b8507d2 use eth-ledger-bridge-keyring from npm 2018-08-14 23:02:01 -04:00
brunobar79
4e1d8ba19d good progress adding paths 2018-08-13 19:29:43 -04:00
brunobar79
77ad856730 remove ledger lib 2018-08-12 01:46:09 -04:00
brunobar79
0b9b892c6b this should be ready to go 2018-08-12 01:34:01 -04:00
brunobar79
5ef80495cf refactor to support multiple hw wallets 2018-08-10 21:54:34 -04:00
brunobar79
656afeefad fix merge conflicts 2018-08-08 15:40:04 -04:00
brunobar79
286bde606f fix merge conflicts 2018-08-08 14:30:49 -04:00
Paul Bouchon
8ac4b586eb
Update eth-keyring-controller and eth-hd-keyring versions (#4989) 2018-08-08 13:17:48 -04:00
bitpshr
365e349ec4 Reestablish old versions of eth-keyring-controller and eth-hd-keyring 2018-08-08 08:17:16 -04:00
brunobar79
2e0916d8ff fix merge conflicts 2018-08-08 02:32:35 -04:00
Whymarrh Whitby
46046c6915 Update chromedriver pkg 2018-08-06 15:47:57 -02:30
Whymarrh Whitby
29488b2c53 Add static-server devDependency 2018-08-06 15:47:57 -02:30
Whymarrh Whitby
6132238302 Remove superstatic package
Install and uninstalling superstatic doesn't work on Node 8 at the time of
writing:

    $ npm install -D superstatic@6
    npm ERR! code ENOTSUP
    npm ERR! notsup Unsupported engine for got@5.7.1: wanted: {"node":">=0.10.0 <7"} (current: {"node":"8.11.3","npm":"6.3.0"})
    npm ERR! notsup Not compatible with your version of node/npm: got@5.7.1
    npm ERR! notsup Not compatible with your version of node/npm: got@5.7.1
    npm ERR! notsup Required: {"node":">=0.10.0 <7"}
    npm ERR! notsup Actual:   {"npm":"6.3.0","node":"8.11.3"}

This commit removes the package (using Node 6!) and it will have to be replaced.
2018-08-06 15:47:57 -02:30
brunobar79
710b4e294f added crossbrowser support and error handling 2018-07-31 18:30:56 -04:00
brunobar79
4de8f5b0d4 fix dependencies 2018-07-26 21:37:43 -04:00
brunobar79
69f4c8c336 fix merge conflicts 2018-07-26 21:04:03 -04:00
brunobar79
d4a15f22c2 added webrtc-adapter for browser compat 2018-07-26 21:00:48 -04:00
brunobar79
ea028e7506 fully working without tweaking ext. permission 2018-07-26 20:56:58 -04:00
brunobar79
6cd4bc9f4e working without permission issues 2018-07-26 20:24:39 -04:00
Antoine Nauleau
653e42cf79 Update Babel to Current Standard "babel-preset-env" (#4812)
* Update .babelrc and package.json to babel-preset-env standard

* Install babel-preset-env babel-stage-0

* Regenerate package-lock.json by running npm install --package-lock-only && npm audit fix

* Resolve PR #4812 merge conflicts

* Merge #4847 Solves previous cache issues with cirlce-ci
2018-07-24 15:21:32 -02:30
brunobar79
2e50348241 added instascan pkg 2018-07-23 17:11:51 -04:00
brunobar79
cde91fac16 added node version requirements 2018-07-21 12:43:35 -04:00
brunobar79
de21a49265 use latest keyring packages 2018-07-16 15:31:05 -04:00
brunobar79
5710e648bd remove account modal updated 2018-07-12 18:19:33 -04:00
brunobar79
4b528405ea catching up with develop 2018-07-12 13:19:51 -04:00
brunobar79
07d8bfaec5 Merge branch 'develop' of github.com:MetaMask/metamask-extension into initial-trezor-support 2018-07-12 12:54:08 -04:00
brunobar79
89cc48789a update to temp dependencies 2018-07-11 20:01:44 -04:00
Alexander Tseung
7d691c7398 Fix existing unit tests 2018-07-07 18:53:00 -07:00
brunobar79
64e397a6f1 update package-lock.json 2018-07-06 20:04:31 -04:00
Alexander Tseung
9cde5ab11b Use eth-method-registry to get method data 2018-07-06 16:27:08 -07:00
Alexander Tseung
ea9d51e427 Refactor and redesign confirm transaction views 2018-07-06 16:27:08 -07:00
brunobar79
7c9d942ba1 Merge branch 'develop' of github.com:MetaMask/metamask-extension into initial-trezor-support 2018-07-06 19:21:18 -04:00
brunobar79
986bb74501 package.json updated and tests passing 2018-07-03 20:24:21 -04:00
brunobar79
d382f89989 tests are passing 2018-07-03 20:21:01 -04:00
brunobar79
595447ccac Merge remote-tracking branch 'upstream/develop' into HEAD 2018-07-03 14:21:17 -04:00
brunobar79
3290421e2f fix merge conflicts 2018-07-03 13:31:30 -04:00