The network controller module has been renamed from `network.js` to
`network-controller.js`. All of our newer controllers have "controller"
in the module names, so this aligns better with that convention. It
also brings the test module name into alignment (it's already called
"network-controller.test.js").
* Make `initializeProvider` and `lookupNetwork` async
These two methods were "synchronous" previously, but initiated an
asynchronous operation. They have both been made `async` to bring them
more in-line with the mobile controller API, and to make them easier
to test.
This should include zero functional changes. These methods are still
being invoked without an `await`, to preserve the same behaviour they
had previously.
This relates to https://github.com/MetaMask/controllers/issues/971
* Move 'net_version' query to private function
* Fix error made when resolving conflicts
* Refactor to improve readability
* ConfirmToken: fix token balance onboarding v1
this UI/UX should be deprecated following PR#16740, maybe v10.25
* TokenApproval: use precision for token balance
* EditApproval: calc utilizing existing util
* ui: add common constant PASSWORD_MIN_LENGTH=8
* ui: simplify password validation logic
* ui: getPasswordStrengthLabel using t from context
Co-authored-by: Alex Donesky <adonesky@gmail.com>
* Recipient name passed to confirm-page-container component should be used if pet name exists for the to address
* Ensure recipient edit/add popup is shown for non-owned accounts
* Ensure contract name is rendered if it exists for recipient address
* Ensure that shortened address is last fallback after account, addressbook, token and ens names
* added housekeeping for avatar network
* fixed alt
* updated story in Readme
* fixed indentation and added network src
* updated SIZES for avatar network
* updated snapshot
* updated docs and props
* updated name of avatar
* removed comments
* updated avatar network component
* updated readme
* updated story for badge
* added constants to the root
* Recipient name passed to confirm-page-container component should be used if pet name exists for the to address
* Ensure recipient edit/add popup is shown for non-owned accounts
* Ensure contract name is rendered if it exists for recipient address
* Ensure that shortened address is last fallback after account, addressbook, token and ens names
* Onboarding: Set SeedPhraseBackedUp when appropriate
* Dispatch setSeedPhraseBackedUp
* Fix test
* Make call async
* Fix test
* Fix test
* enhance test
Co-authored-by: Alex <adonesky@gmail.com>
This commit affects the network client tests, which were added in a
previous PR to test the behavior of `createInfuraClient`, a function
called that sets up a portion of the middleware stack in the JSON-RPC
layer.
An `if` statement appears in the tests which limits the execution of
certain tests. However, this seems to have been added for debugging
purposes and is not actually needed.
Co-authored-by: Brad Decker <bhdecker84@gmail.com>
A `debug` flag has been added to our e2e test runner scripts, enabling
e2e debug logs. When this flag is enabled, all driver interactions will
be logged to the console. This is extremely useful when debugging e2e
tests, because it lets you known how far the test had progressed before
failing.
This flag should work with all existing e2e test scripts, including
both `test:e2e:single` and all of the test commands that run entire
test suites.
The README has been updated to reference this flag in the section
regarding how to run a single e2e test. To ensure this wasn't totally
missed for the other scripts, I added a line suggesting that users use
`--help` to see all supported options.
Five network controller methods have been renamed to start with an
underscore:
* `getLatestBlock`
* `setNetworkState`
* `setNetworkEIPSupport`
* `clearNetworkDetails`
* `setProviderConfig`
All of these methods were used solely within the network controller.
The leading underscore now documents these methods as being private.
A few tests required updates as well because they were stubbing out one
of these methods.
This should include zero functional changes.
This relates to https://github.com/MetaMask/controllers/issues/971
The network state is now passed to the TransactionController via a
getter function and a subscription function, instead of passing one of
the network controller stores directly.
This way of passing the state makes further refactoring easier, as we
don't have to change the input when the store is changed or replaced.
It's also more aligned with our conventions today.
This change was made as part of a larger refactor of the network
controller, as part of the effort to merge the mobile and extension
network controllers.
* fix issue when navigating back into the onboarding flow after completing onboarding
* disable navigating back into the onboarding flow
* lint
* fix test
* lint
The network controller method `setProviderType` was marked as `async`
despite doing nothing async internally. The `async` has been dropped.
This should have zero functional impact.
This relates to https://github.com/MetaMask/controllers/issues/971
The `start:test` command no longer uses LavaMoat to run the build
process. `start:test` is meant for local development, so it should have
the same behavior as `start` in this respect, and `start` also does not
use LavaMoat.
This significantly improves build times for local e2e development.
The network controller `setInfuraProjectId` method has been deleted.
The Infura project ID is only ever set upon construction, so it is now
passed in as a constructor parameter instead.
Rather than adding this as a second parameter, the network controller
now uses an "options bag" for constructor parameters. The initial state
was the first parameter, but it's now passed in as the `state` option
instead.
These changes make the API more similar to the mobile network
controller API.
This should have zero functional changes.
This relates to https://github.com/MetaMask/controllers/issues/971
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>