1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
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
.circleci ci - install deps - limit install scripts to whitelist (#7208) 2019-09-25 20:01:10 +08:00
.github ci - install deps - limit install scripts to whitelist (#7208) 2019-09-25 20:01:10 +08:00
.storybook Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
app Add advanced setting to enable editing nonce on confirmation screens (#7089) 2019-09-27 00:30:36 -04:00
development Add migration on 3box imports and remove feature flag (#7209) 2019-09-26 03:24:52 -04:00
docs dev - move gource instructions from docs to development script 2019-09-10 22:05:16 +08:00
test Add advanced setting to enable editing nonce on confirmation screens (#7089) 2019-09-27 00:30:36 -04:00
ui Add advanced setting to enable editing nonce on confirmation screens (#7089) 2019-09-27 00:30:36 -04:00
.dockerignore mascara - ready to deploy via docker 2017-04-05 22:59:25 -07:00
.editorconfig Clean EditorConfig file 2019-05-23 07:17:42 -02:30
.eslintignore Lint .json files (#6852) 2019-07-15 11:03:22 -03:00
.eslintrc Enable indent linting via ESLint (#6936) 2019-07-31 10:17:11 -10:00
.gitattributes I5849 incremental account security (#6874) 2019-08-02 01:27:26 -02:30
.gitignore Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
.nvmrc nvm: Update to v10.16.3 (#7127) 2019-09-09 14:19:39 -04:00
.stylelintignore mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
.stylelintrc Lint and cleanup all scss 2017-08-14 10:31:27 +02:00
babel.config.js Set minimum Firefox version to v56.2 to support Waterfox (#7156) 2019-09-12 16:55:20 -03:00
CHANGELOG.md master => develop (#7182) 2019-09-17 19:47:42 -03:00
CONTRIBUTING.md Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
fonts Improved Ui Dev Mode 2016-07-01 14:23:37 -07:00
gulpfile.js Optimize images only during production build (#7194) 2019-09-21 13:32:17 -03:00
images Improved Ui Dev Mode 2016-07-01 14:23:37 -07:00
ISSUE_TEMPLATE Merge branch 'master' into NewUI-flat-merge-with-master 2017-12-06 21:11:52 -08:00
LICENSE License 2018-06-22 16:28:54 -04:00
MISSION.md Mission v2 2018-05-29 09:30:59 -07:00
package.json ci - install deps - limit install scripts to whitelist (#7208) 2019-09-25 20:01:10 +08:00
README.md Add browser recommendation to README (#6941) 2019-08-02 10:29:18 -02:30
USER_AGREEMENT.md fix tos link; 2018-07-12 16:24:13 -04:00
yarn.lock ci - install deps - limit install scripts to whitelist (#7208) 2019-09-25 20:01:10 +08:00

MetaMask Browser Extension

Build Status Coverage Status

You can find the latest version of MetaMask on our official website. For help using MetaMask, visit our User Support Site.

MetaMask supports Firefox, Google Chrome, and Chromium-based browsers. We recommend using the latest available browser version.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 10
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
  • Install Yarn
  • Install dependencies: yarn
  • Build the project to the ./dist/ folder with yarn dist.
  • Optionally, to start a development build (e.g. with logging and file watching) run yarn start instead.
    • To start the React DevTools and Redux DevTools Extension alongside the app, use yarn start:dev.
      • React DevTools will open in a separate window; no browser extension is required
      • Redux DevTools will need to be installed as a browser extension. Open the Redux Remote Devtools to access Redux state logs. This can be done by either right clicking within the web browser to bring up the context menu, expanding the Redux DevTools panel and clicking Open Remote DevTools OR clicking the Redux DevTools extension icon and clicking Open Remote DevTools.
        • You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host localhost, port 8000, secure connection checkbox unchecked)

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.

Contributing

You can read our internal docs here.

You can re-generate the docs locally by running yarn doc, and contributors can update the hosted docs by running yarn publish-docs.

Running Tests

Run tests with yarn test.

You can also test with a continuously watching process, via yarn watch.

You can run the linter by itself with yarn lint.

Architecture

Architecture Diagram

Development

yarn
yarn start

Build for Publishing

yarn dist

Writing Browser Tests

To write tests that will be run in the browser using QUnit, add your test files to test/integration/lib.

Other Docs