1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 09:57:02 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
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
.circleci Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
.github Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
.storybook Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
app Address book send plus contact list (#6914) 2019-07-31 17:26:44 -02:30
development Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
docs Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
test Address book send plus contact list (#6914) 2019-07-31 17:26:44 -02:30
ui Address book send plus contact list (#6914) 2019-07-31 17:26:44 -02:30
.babelrc Remove Babel transformations for older browser versions (#6812) 2019-07-18 18:17:20 -03: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 Remove unused expressions (#6839) 2019-07-12 12:41:39 -03:00
.gitattributes Show lockfile diffs on GitHub (#6857) 2019-07-15 17:40:05 -02:30
.gitignore Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
.nvmrc Update to Node.js v10 2019-06-27 11:46:13 -03: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
CHANGELOG.md Merge pull request #6832 from MetaMask/master-rebased 2019-07-12 10:58:19 -07: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
gentests.js Check for unused function arguments (#6583) 2019-05-08 15:51:33 -04:00
gulpfile.js Serve CSS as an external file (#6894) 2019-07-23 14:10:13 -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 Address book send plus contact list (#6914) 2019-07-31 17:26:44 -02:30
README.md Switch from npm to yarn (#6843) 2019-07-30 15:36:23 -03:00
USER_AGREEMENT.md fix tos link; 2018-07-12 16:24:13 -04:00
yarn.lock Address book send plus contact list (#6914) 2019-07-31 17:26:44 -02:30

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.

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